|
2 | 2 |
|
3 | 3 | source 'https://rubygems.org' |
4 | 4 |
|
5 | | -gemspec |
6 | | - |
7 | | -group :development, :test do |
8 | | - gem 'puma' |
9 | | - gem 'sassc' |
10 | | - gem 'sqlite3' |
11 | | - |
12 | | - # Testing |
13 | | - gem 'capybara' |
14 | | - gem 'cuprite' |
15 | | - gem 'rspec_junit_formatter' |
16 | | - gem 'rspec-rails' |
17 | | - |
18 | | - # Linters |
19 | | - gem 'fasterer' |
20 | | - gem 'rubocop' |
21 | | - gem 'rubocop-packaging' |
22 | | - gem 'rubocop-performance' |
23 | | - gem 'rubocop-rails' |
24 | | - gem 'rubocop-rspec' |
25 | | - |
26 | | - # Tools |
27 | | - gem 'pry-rails' |
| 5 | +def eval_version(dependency, version) |
| 6 | + return [dependency] if version.empty? |
| 7 | + |
| 8 | + version.count('.') < 2 ? [dependency, "~> #{version}.0"] : [dependency, version] |
| 9 | +end |
| 10 | + |
| 11 | +if ENV['DEVEL'] == '1' |
| 12 | + gem 'activeadmin_medium_editor', path: './' |
| 13 | +else |
| 14 | + gemspec |
28 | 15 | end |
| 16 | + |
| 17 | +ruby_ver = ENV.fetch('RUBY_VERSION', '') |
| 18 | + |
| 19 | +rails_ver = ENV.fetch('RAILS_VERSION', '') |
| 20 | +rails = eval_version('rails', rails_ver) |
| 21 | +gem(*rails) |
| 22 | + |
| 23 | +active_admin_ver = ENV.fetch('ACTIVEADMIN_VERSION', '') |
| 24 | +active_admin = eval_version('activeadmin', active_admin_ver) |
| 25 | +gem(*active_admin) |
| 26 | + |
| 27 | +ruby32 = ruby_ver.empty? || Gem::Version.new(ruby_ver) >= Gem::Version.new('3.2') |
| 28 | +rails72 = rails_ver.empty? || Gem::Version.new(rails_ver) >= Gem::Version.new('7.2') |
| 29 | +sqlite3 = ruby32 && rails72 ? ['sqlite3'] : ['sqlite3', '~> 1.4'] |
| 30 | +gem(*sqlite3) |
| 31 | + |
| 32 | +gem 'zeitwerk', '~> 2.6.18' unless ruby32 |
| 33 | + |
| 34 | +# NOTE: to avoid error: uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger |
| 35 | +gem 'concurrent-ruby', '1.3.4' |
| 36 | + |
| 37 | +# Misc |
| 38 | +gem 'bigdecimal' |
| 39 | +gem 'csv' |
| 40 | +gem 'mutex_m' |
| 41 | +gem 'puma' |
| 42 | +gem 'sassc' |
| 43 | +gem 'sprockets-rails' |
| 44 | + |
| 45 | +# Testing |
| 46 | +gem 'capybara' |
| 47 | +gem 'cuprite' |
| 48 | +gem 'rspec_junit_formatter' |
| 49 | +gem 'rspec-rails' |
| 50 | +gem 'simplecov', require: false |
| 51 | +gem 'super_diff' |
| 52 | + |
| 53 | +# Linters |
| 54 | +gem 'fasterer' |
| 55 | +gem 'rubocop' |
| 56 | +gem 'rubocop-capybara' |
| 57 | +gem 'rubocop-packaging' |
| 58 | +gem 'rubocop-performance' |
| 59 | +gem 'rubocop-rails' |
| 60 | +gem 'rubocop-rspec' |
| 61 | +gem 'rubocop-rspec_rails' |
| 62 | + |
| 63 | +# Tools |
| 64 | +gem 'pry-rails' |
0 commit comments