From 62652c806708c232e489d38a71b466c218091dff Mon Sep 17 00:00:00 2001 From: Geremia Taglialatela Date: Sun, 24 Mar 2024 12:44:09 +0100 Subject: [PATCH] Remove legacy Ruby version conditionals Also: - Test against JRuby 9.4 - Remove conditional installation of `json` on JRuby, because it appears to be part of the standard library on all supported Ruby versions - Move `rbs` and `typeprof` to Gemfile and conditionally install them only on supported Ruby platforms Note: the minimum JRuby version which passes the specs is 9.4.2.0 --- .github/workflows/ruby.yml | 2 +- Gemfile | 12 ++---------- README.md | 6 ++---- money.gemspec | 2 -- 4 files changed, 5 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 2b82f36907..86ed7894e3 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: ['3.1', '3.2', '3.3'] + ruby-version: ['3.1', '3.2', '3.3', 'jruby-9.4'] steps: - uses: actions/checkout@v4 diff --git a/Gemfile b/Gemfile index bbc749ec6d..04e6bd1c52 100644 --- a/Gemfile +++ b/Gemfile @@ -2,15 +2,7 @@ source 'https://rubygems.org' gem 'pry', require: false -# JSON gem no longer supports ruby < 2.0.0 -if defined?(JRUBY_VERSION) - gem 'json' -elsif RUBY_VERSION =~ /^1/ - # Legacy gem locks for ruby 1.9.x - gem 'json', '~> 1.8.3' - gem 'tins', '~> 1.6.0' - gem 'term-ansicolor', '< 1.4' -end -gem 'i18n', '<= 1.2.0' if RUBY_VERSION < '2.3' +gem 'rbs', platforms: %i[mri mingw x64_mingw] +gem 'typeprof', platforms: %i[mri mingw x64_mingw] gemspec diff --git a/README.md b/README.md index 34857ce629..cbcb9611b1 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,6 @@ A Ruby Library for dealing with money and currency conversion. - Your app must use UTF-8 to function with this library. There are a number of non-ASCII currency attributes. -- This app requires JSON. If you're using JRuby < 1.7.0 - you'll need to add `gem "json"` to your Gemfile or similar. ## Downloading @@ -351,11 +349,11 @@ The following example implements a `Redis` store to save exchange rates to a red class RedisRateStore INDEX_KEY_SEPARATOR = '_TO_'.freeze - + # Using second db of the redis instance # because sidekiq uses the first db REDIS_DATABASE = 1 - + # Using Hash to store rates data REDIS_STORE_KEY = 'rates' diff --git a/money.gemspec b/money.gemspec index 695c1da447..f52d28664e 100644 --- a/money.gemspec +++ b/money.gemspec @@ -22,8 +22,6 @@ Gem::Specification.new do |s| s.add_development_dependency "rspec", "~> 3.4" s.add_development_dependency "yard", "~> 0.9.11" s.add_development_dependency "kramdown", "~> 2.3" - s.add_development_dependency "rbs" if RUBY_VERSION >= "2.7.0" - s.add_development_dependency "typeprof" if RUBY_VERSION >= "2.7.0" s.required_ruby_version = '>= 3.1'