File tree Expand file tree Collapse file tree 6 files changed +104
-37
lines changed Expand file tree Collapse file tree 6 files changed +104
-37
lines changed Original file line number Diff line number Diff line change 1
1
# frozen_string_literal: true
2
2
3
- RAILS_VERSIONS = {
4
- '5.2.4' => {
5
- 'activerecord-oracle_enhanced-adapter' => '~> 5.2.0' ,
6
- 'sqlite3' => '~> 1.3.0' ,
7
- 'mysql2' => '' ,
8
- 'ruby-oci8' => '' ,
9
- } ,
10
- '6.0.3' => {
11
- 'activerecord-oracle_enhanced-adapter' => '~> 6.0.0' ,
12
- 'sqlite3' => '~> 1.4.0' ,
13
- 'mysql2' => '' ,
14
- 'ruby-oci8' => '' ,
15
- } ,
16
- '6.1.0' => {
17
- 'activerecord-oracle_enhanced-adapter' => '~> 6.1.0' ,
18
- 'sqlite3' => '~> 1.4.0' ,
19
- 'mysql2' => '' ,
20
- 'ruby-oci8' => '' ,
21
- } ,
22
- } . freeze
3
+ require 'yaml'
23
4
24
- RAILS_VERSIONS . each do |version , gems |
5
+ rails_versions = YAML . load ( File . read ( 'appraisal.yml' ) )
6
+
7
+ rails_versions . each do |version , gems |
25
8
appraise "rails_#{ version } " do
26
9
gem 'rails' , version
27
- gems . each do |name , gem_version |
28
- if gem_version . empty?
29
- gem name
10
+ gems . each do |name , opts |
11
+ if opts [ 'install_if' ]
12
+ install_if opts [ 'install_if' ] do
13
+ if opts [ 'version' ] . empty?
14
+ gem name
15
+ else
16
+ gem name , opts [ 'version' ]
17
+ end
18
+ end
30
19
else
31
- gem name , gem_version
20
+ if opts [ 'version' ] . empty?
21
+ gem name
22
+ else
23
+ gem name , opts [ 'version' ]
24
+ end
32
25
end
33
26
end
34
27
end
Original file line number Diff line number Diff line change 3
3
source 'https://rubygems.org'
4
4
5
5
gemspec
6
+
7
+ gem 'appraisal' , git : 'https://github.com/thoughtbot/appraisal.git'
Original file line number Diff line number Diff line change
1
+ ---
2
+ 5.2.4 :
3
+ sqlite3 :
4
+ version : ~> 1.3.0
5
+ install_if : ' -> { ENV["DB_ADAPTER"] == "sqlite3" }'
6
+ mysql2 :
7
+ version : ' '
8
+ install_if : ' -> { ENV["DB_ADAPTER"] == "mysql2" }'
9
+ activerecord-oracle_enhanced-adapter :
10
+ version : ~> 5.2.0
11
+ install_if : ' -> { ENV["DB_ADAPTER"] == "oracle_enhanced" }'
12
+ ruby-oci8 :
13
+ version : ' '
14
+ install_if : ' -> { ENV["DB_ADAPTER"] == "oracle_enhanced" }'
15
+
16
+ 6.0.3 :
17
+ sqlite3 :
18
+ version : ~> 1.4.0
19
+ install_if : ' -> { ENV["DB_ADAPTER"] == "sqlite3" }'
20
+ mysql2 :
21
+ version : ' '
22
+ install_if : ' -> { ENV["DB_ADAPTER"] == "mysql2" }'
23
+ activerecord-oracle_enhanced-adapter :
24
+ version : ~> 6.0.0
25
+ install_if : ' -> { ENV["DB_ADAPTER"] == "oracle_enhanced" }'
26
+ ruby-oci8 :
27
+ version : ' '
28
+ install_if : ' -> { ENV["DB_ADAPTER"] == "oracle_enhanced" }'
29
+
30
+ 6.1.0 :
31
+ sqlite3 :
32
+ version : ~> 1.4.0
33
+ install_if : ' -> { ENV["DB_ADAPTER"] == "sqlite3" }'
34
+ mysql2 :
35
+ version : ' '
36
+ install_if : ' -> { ENV["DB_ADAPTER"] == "mysql2" }'
37
+ activerecord-oracle_enhanced-adapter :
38
+ version : ~> 6.1.0
39
+ install_if : ' -> { ENV["DB_ADAPTER"] == "oracle_enhanced" }'
40
+ ruby-oci8 :
41
+ version : ' '
42
+ install_if : ' -> { ENV["DB_ADAPTER"] == "oracle_enhanced" }'
Original file line number Diff line number Diff line change 2
2
3
3
source "https://rubygems.org"
4
4
5
+ gem "appraisal", git: "https://github.com/n-rodriguez/appraisal.git", branch: "wip/install_if"
5
6
gem "rails", "5.2.4"
6
- gem "activerecord-oracle_enhanced-adapter", "~> 5.2.0"
7
- gem "sqlite3", "~> 1.3.0"
8
- gem "mysql2"
9
- gem "ruby-oci8" if ENV["DB_ADAPTER"] == "oracle_enhanced"
7
+
8
+ install_if -> { ENV["DB_ADAPTER"] == "sqlite3" } do
9
+ gem "sqlite3", "~> 1.3.0"
10
+ end
11
+
12
+ install_if -> { ENV["DB_ADAPTER"] == "mysql2" } do
13
+ gem "mysql2"
14
+ end
15
+
16
+ install_if -> { ENV["DB_ADAPTER"] == "oracle_enhanced" } do
17
+ gem "activerecord-oracle_enhanced-adapter", "~> 5.2.0"
18
+ gem "ruby-oci8"
19
+ end
10
20
11
21
gemspec path: "../"
Original file line number Diff line number Diff line change 2
2
3
3
source "https://rubygems.org"
4
4
5
+ gem "appraisal", git: "https://github.com/n-rodriguez/appraisal.git", branch: "wip/install_if"
5
6
gem "rails", "6.0.3"
6
- gem "activerecord-oracle_enhanced-adapter", "~> 6.0.0"
7
- gem "sqlite3", "~> 1.4.0"
8
- gem "mysql2"
9
- gem "ruby-oci8" if ENV["DB_ADAPTER"] == "oracle_enhanced"
7
+
8
+ install_if -> { ENV["DB_ADAPTER"] == "sqlite3" } do
9
+ gem "sqlite3", "~> 1.4.0"
10
+ end
11
+
12
+ install_if -> { ENV["DB_ADAPTER"] == "mysql2" } do
13
+ gem "mysql2"
14
+ end
15
+
16
+ install_if -> { ENV["DB_ADAPTER"] == "oracle_enhanced" } do
17
+ gem "activerecord-oracle_enhanced-adapter", "~> 6.0.0"
18
+ gem "ruby-oci8"
19
+ end
10
20
11
21
gemspec path: "../"
Original file line number Diff line number Diff line change 2
2
3
3
source "https://rubygems.org"
4
4
5
+ gem "appraisal", git: "https://github.com/n-rodriguez/appraisal.git", branch: "wip/install_if"
5
6
gem "rails", "6.1.0"
6
- gem "activerecord-oracle_enhanced-adapter", "~> 6.1.0"
7
- gem "sqlite3", "~> 1.4.0"
8
- gem "mysql2"
9
- gem "ruby-oci8" if ENV["DB_ADAPTER"] == "oracle_enhanced"
7
+
8
+ install_if -> { ENV["DB_ADAPTER"] == "sqlite3" } do
9
+ gem "sqlite3", "~> 1.4.0"
10
+ end
11
+
12
+ install_if -> { ENV["DB_ADAPTER"] == "mysql2" } do
13
+ gem "mysql2"
14
+ end
15
+
16
+ install_if -> { ENV["DB_ADAPTER"] == "oracle_enhanced" } do
17
+ gem "activerecord-oracle_enhanced-adapter", "~> 6.1.0"
18
+ gem "ruby-oci8"
19
+ end
10
20
11
21
gemspec path: "../"
You can’t perform that action at this time.
0 commit comments