Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,17 @@ jobs:
name: ${{ matrix.ruby }}
runs-on: ubuntu-latest
env:
COVERAGE_RUBY_VERSION: 2.6
COVERAGE_RUBY_VERSION: 3.2
BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle
strategy:
fail-fast: false
matrix:
ruby:
- 2.6
- 2.7
- '3.0' # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
- 3.1
- 3.2
- 3.3
- 3.4
- 4.0
- jruby-9
- jruby-10
- truffleruby
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Metrics/LineLength:
Layout/LineLength:
Max: 120

Style/RegexpLiteral:
Expand Down
75 changes: 13 additions & 62 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -6,68 +6,19 @@ min_ruby_version = ->(version) {
RUBY_ENGINE == 'ruby' && Gem::Version.new(RUBY_VERSION) >= Gem::Version.new(version)
}

# Rails 5.x, 6.0 require Ruby < 3
if max_ruby_version.call('3.0')
appraise 'rails-5.2' do
gem 'activerecord-jdbcsqlite3-adapter', '~> 52.5', platform: :jruby
gem 'bootsnap', '~> 1.4'
gem 'rails', '~> 5.2.0'
gem 'rspec-rails', '~> 3.7'
gem 'sqlite3', '< 1.4.0', platform: :ruby
end

appraise 'rails-6.0' do
gem 'activerecord-jdbcsqlite3-adapter', '~> 60.1', platform: :jruby
gem 'bootsnap', '~> 1.4'
gem 'rails', '~> 6.0.0'
gem 'rspec-rails', '~> 3.7'
gem 'sqlite3', '~> 1', platform: :ruby
end
end

appraise 'rails-6.1' do
gem 'activerecord-jdbcsqlite3-adapter', '~> 61.1', platform: :jruby
gem 'bootsnap', '>= 1.4.4'
gem 'drb', '~> 2.2' if min_ruby_version.call('3.4')
gem 'mutex_m', '~> 0.2.0' if min_ruby_version.call('3.4')
gem 'psych', '>= 4'
gem 'rails', '~> 6.1.0'
gem 'rspec-rails', '~> 5.0'
gem 'sqlite3', '~> 1', platform: :ruby
gem 'benchmark'
end

# Rails 7.0 require Ruby > 2.7
if min_ruby_version.call('2.7') || RUBY_ENGINE != 'ruby'
appraise 'rails-7.0' do
gem 'activerecord-jdbcsqlite3-adapter', '~> 70.1', platform: :jruby
gem 'bootsnap', '>= 1.4.4'
gem 'drb', '~> 2.2' if min_ruby_version.call('3.4')
gem 'mutex_m', '~> 0.2.0' if min_ruby_version.call('3.4')
gem 'psych', '>= 4'
gem 'rails', '~> 7.0.0'
gem 'rspec-rails', '~> 7.0'
gem 'sprockets-rails', '~> 3.5.2'
gem 'sqlite3', '~> 1', platform: :ruby
end
end

# Rails 7.1 require Ruby > 2.7
if min_ruby_version.call('2.7')
appraise 'rails-7.1' do
# Rails 8.0 requires Ruby > 3.2
if min_ruby_version.call('3.2.0')
appraise 'rails-8.0' do
gem 'activerecord-jdbcsqlite3-adapter', '~> 71.0', platform: :jruby
gem 'bootsnap', '>= 1.16.0'
gem 'kamal', '~> 2.7.0'
gem 'rails', '~> 8.0.0'
gem 'rspec-rails', '~> 8.0'
gem 'psych', '>= 4'
gem 'rails', '~> 7.1.0'
gem 'rspec-rails', '~> 7.0'
gem 'sprockets-rails', '~> 3.5.2'
gem 'sqlite3', '~> 1', platform: :ruby
gem 'sqlite3', '>= 2.1', platform: :ruby
end

end

# Rails 7.2 requires Ruby > 3.1
if min_ruby_version.call('3.1.0')
# Rails 7.2 requires Ruby > 3.1 but 3.1 is EOL.
appraise 'rails-7.2' do
gem 'activerecord-jdbcsqlite3-adapter', '~> 71.0', platform: :jruby
gem 'bootsnap', '>= 1.16.0'
Expand All @@ -79,13 +30,13 @@ if min_ruby_version.call('3.1.0')
end
end

# Rails 8.0 requires Ruby > 3.2
if min_ruby_version.call('3.2.0')
appraise 'rails-8.0' do
# Rails 8.1 requires Ruby > 3.3
if min_ruby_version.call('3.3.0')
appraise 'rails-8.1' do
gem 'activerecord-jdbcsqlite3-adapter', '~> 71.0', platform: :jruby
gem 'bootsnap', '>= 1.16.0'
gem 'kamal', '~> 2.7.0'
gem 'rails', '~> 8.0.0'
gem 'rails', '~> 8.1.0'
gem 'rspec-rails', '~> 8.0'
gem 'psych', '>= 4'
gem 'sqlite3', '>= 2.1', platform: :ruby
Expand All @@ -106,5 +57,5 @@ if min_ruby_version.call('3.3.0')
end

appraise 'sinatra' do
gem 'sinatra', '2.0.8.1'
gem 'sinatra', '~> 4.2.0'
end
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,22 @@ Config helps you easily manage environment specific settings in an easy and usab
Current version supports and is [tested](.github/workflows/tests.yml#L19) for the following interpreters and frameworks:

* Interpreters
* [Ruby](https://www.ruby-lang.org) `>= 2.6`
* [JRuby](https://www.jruby.org) `>= 9.2`
* [Ruby](https://www.ruby-lang.org) `>= 3.2`
* [JRuby](https://www.jruby.org) `>= 10.0`
* [TruffleRuby](https://github.com/oracle/truffleruby) `>= 19.3`
* Application frameworks
* Rails `>= 5.2`
* Rails `>= 7.2`
* Padrino
* Sinatra
* Sinatra `>= 4.2.0`

For Ruby `2.0` to `2.3` or Rails `3` to `4.1` use version `1.x` of this gem. For older versions of Rails or Ruby use [AppConfig](http://github.com/fredwu/app_config).
| Ruby | Rails | Config |
|---|---|---|
| >= 3.2 | >= 7.2 | > 5.x |
| < 3.2 | < 7.2 | 5.x |
| 2.4–2.5 | 4.2–5.1 | 3.x |
| 2.0–2.3 | 3.0–4.1 | 1.x |

For Ruby `2.4` or `2.5` or Rails `4.2`, `5.0`, or `5.1` use version `3.x` of this gem.
For older versions of Rails or Ruby use [AppConfig](http://github.com/fredwu/app_config).

## Installing

Expand Down
12 changes: 6 additions & 6 deletions config.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@ Gem::Specification.new do |s|
s.files.select! { |file| /(^lib\/|^\w+.md$|\.gemspec$)/ =~ file }

s.require_paths = ['lib']
s.required_ruby_version = '>= 2.6.0'
s.required_ruby_version = '>= 3.2.0'

s.add_dependency 'deep_merge', '~> 1.2', '>= 1.2.1'
s.add_dependency 'ostruct'

s.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
s.add_development_dependency 'rake', '~> 13.0', '>= 13.0.0'

# Testing
s.add_development_dependency 'appraisal', '~> 2.5', '>= 2.5.0'
s.add_development_dependency 'dry-validation', *Config::DryValidationRequirements::VERSIONS
s.add_development_dependency 'rspec', '~> 3.9', '>= 3.9.0'
s.add_development_dependency 'rspec', '~> 3.13', '>= 3.13.2'

# Default RSpec run will test against latest Rails app
unless ENV['APPRAISAL_INITIALIZED'] || ENV['GITHUB_ACTIONS']
Expand All @@ -53,10 +53,10 @@ Gem::Specification.new do |s|

if ENV['GITHUB_ACTIONS']
# Code coverage is needed only in CI
s.add_development_dependency 'simplecov', '~> 0.18.5' if RUBY_ENGINE == 'ruby'
s.add_development_dependency 'simplecov', '~> 0.22' if RUBY_ENGINE == 'ruby'
else
# Static code analysis to be used locally
s.add_development_dependency 'mdl', '~> 0.9', '>= 0.9.0'
s.add_development_dependency 'rubocop', '~> 0.85.0'
s.add_development_dependency 'mdl', '~> 0.15', '>= 0.15.0'
s.add_development_dependency 'rubocop', '~> 1.84'
end
end
59 changes: 0 additions & 59 deletions spec/app/rails_5.2/Gemfile

This file was deleted.

24 changes: 0 additions & 24 deletions spec/app/rails_5.2/README.md

This file was deleted.

6 changes: 0 additions & 6 deletions spec/app/rails_5.2/Rakefile

This file was deleted.

3 changes: 0 additions & 3 deletions spec/app/rails_5.2/app/assets/config/manifest.js

This file was deleted.

16 changes: 0 additions & 16 deletions spec/app/rails_5.2/app/assets/javascripts/application.js

This file was deleted.

13 changes: 0 additions & 13 deletions spec/app/rails_5.2/app/assets/javascripts/cable.js

This file was deleted.

15 changes: 0 additions & 15 deletions spec/app/rails_5.2/app/assets/stylesheets/application.css

This file was deleted.

4 changes: 0 additions & 4 deletions spec/app/rails_5.2/app/channels/application_cable/channel.rb

This file was deleted.

This file was deleted.

2 changes: 0 additions & 2 deletions spec/app/rails_5.2/app/controllers/application_controller.rb

This file was deleted.

2 changes: 0 additions & 2 deletions spec/app/rails_5.2/app/helpers/application_helper.rb

This file was deleted.

2 changes: 0 additions & 2 deletions spec/app/rails_5.2/app/jobs/application_job.rb

This file was deleted.

4 changes: 0 additions & 4 deletions spec/app/rails_5.2/app/mailers/application_mailer.rb

This file was deleted.

3 changes: 0 additions & 3 deletions spec/app/rails_5.2/app/models/application_record.rb

This file was deleted.

15 changes: 0 additions & 15 deletions spec/app/rails_5.2/app/views/layouts/application.html.erb

This file was deleted.

13 changes: 0 additions & 13 deletions spec/app/rails_5.2/app/views/layouts/mailer.html.erb

This file was deleted.

1 change: 0 additions & 1 deletion spec/app/rails_5.2/app/views/layouts/mailer.text.erb

This file was deleted.

Loading