Skip to content

Commit a6e03b0

Browse files
authored
Merge pull request #14 from locomote/add_rails_71_72_80_support
Add Rails 7.1, 7.2 & 8.0 support
2 parents 4e5efff + e8d9078 commit a6e03b0

6 files changed

Lines changed: 117 additions & 35 deletions

File tree

.github/workflows/ci.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
types: [opened, synchronize, reopened, ready_for_review]
8+
9+
env:
10+
RAILS_ENV: test
11+
12+
jobs:
13+
not-a-draft-pr:
14+
name: Continue if not draft PR
15+
if: github.event.pull_request.draft == false
16+
runs-on: ubuntu-latest
17+
steps:
18+
- run: exit 0
19+
20+
test:
21+
name: Tests for version
22+
needs: not-a-draft-pr
23+
runs-on: ubuntu-latest
24+
timeout-minutes: 5
25+
26+
strategy:
27+
fail-fast: false
28+
matrix:
29+
rails-version: ['~> 7.0.1', '~> 7.1.0', '~> 7.2.0', '~> 8.0.0']
30+
ruby-version: ['3.1.7', '3.2.8', '3.3.8', '3.4.3']
31+
exclude:
32+
- rails-version: '~> 8.0.0'
33+
ruby-version: '3.1.7'
34+
- rails-version: '~> 7.0.1'
35+
ruby-version: '3.4.3'
36+
37+
env:
38+
CI_RAILS_VERSION: ${{ matrix.rails-version }}
39+
CI_RUBY_VERSION: ${{ matrix.ruby-version }}
40+
41+
steps:
42+
- uses: actions/checkout@v3
43+
44+
- name: Setup ruby
45+
uses: ruby/setup-ruby@v1
46+
with:
47+
ruby-version: ${{ matrix.ruby-version }}
48+
49+
- name: Bundle
50+
run: bundle install
51+
52+
- name: Run tests
53+
run: bundle exec rake spec
54+
55+
# This is required to make requiring status checks easy in Github branch protection rules
56+
test-success:
57+
name: Tests
58+
if: github.event.pull_request.draft == false
59+
runs-on: ubuntu-latest
60+
needs: test
61+
steps:
62+
- name: Check build matrix status
63+
if: ${{ needs.test.result != 'success' }}
64+
run: exit 1

Gemfile.lock

Lines changed: 39 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,82 @@
11
PATH
22
remote: .
33
specs:
4-
translations_checker (2.0.0)
5-
activesupport (~> 7.0.0)
4+
translations_checker (2.1.0)
5+
activesupport (~> 7)
66
concurrent-ruby (= 1.3.4)
77
naught (~> 1.1.0)
88

99
GEM
1010
remote: https://rubygems.org/
1111
specs:
12-
activesupport (7.0.8.7)
12+
activesupport (7.1.5.1)
13+
base64
14+
benchmark (>= 0.3)
15+
bigdecimal
1316
concurrent-ruby (~> 1.0, >= 1.0.2)
17+
connection_pool (>= 2.2.5)
18+
drb
1419
i18n (>= 1.6, < 2)
20+
logger (>= 1.4.2)
1521
minitest (>= 5.1)
22+
mutex_m
23+
securerandom (>= 0.3)
1624
tzinfo (~> 2.0)
1725
ast (2.3.0)
1826
axiom-types (0.1.1)
1927
descendants_tracker (~> 0.0.4)
2028
ice_nine (~> 0.11.0)
2129
thread_safe (~> 0.3, >= 0.3.1)
30+
base64 (0.2.0)
31+
benchmark (0.4.0)
32+
bigdecimal (3.1.9)
2233
codeclimate-engine-rb (0.4.1)
2334
virtus (~> 1.0)
24-
coderay (1.1.2)
35+
coderay (1.1.3)
2536
coercible (1.0.0)
2637
descendants_tracker (~> 0.0.1)
2738
concurrent-ruby (1.3.4)
39+
connection_pool (2.5.0)
2840
descendants_tracker (0.0.4)
2941
thread_safe (~> 0.3, >= 0.3.1)
30-
diff-lcs (1.4.4)
42+
diff-lcs (1.6.1)
43+
drb (2.2.1)
3144
equalizer (0.0.11)
3245
i18n (1.14.7)
3346
concurrent-ruby (~> 1.0)
3447
ice_nine (0.11.2)
35-
method_source (0.9.0)
48+
logger (1.7.0)
49+
method_source (1.1.0)
3650
minitest (5.25.5)
51+
mutex_m (0.3.0)
3752
naught (1.1.0)
3853
parallel (1.12.0)
3954
parser (2.4.0.2)
4055
ast (~> 2.3)
4156
powerpack (0.1.1)
42-
pry (0.11.3)
43-
coderay (~> 1.1.0)
44-
method_source (~> 0.9.0)
57+
pry (0.15.2)
58+
coderay (~> 1.1)
59+
method_source (~> 1.0)
4560
rainbow (2.2.2)
4661
rake
4762
rake (12.3.3)
4863
reek (4.7.3)
4964
codeclimate-engine-rb (~> 0.4.0)
5065
parser (>= 2.4.0.0, < 2.5)
5166
rainbow (~> 2.0)
52-
rspec (3.7.0)
53-
rspec-core (~> 3.7.0)
54-
rspec-expectations (~> 3.7.0)
55-
rspec-mocks (~> 3.7.0)
56-
rspec-core (3.7.1)
57-
rspec-support (~> 3.7.0)
58-
rspec-expectations (3.7.0)
67+
rspec (3.13.0)
68+
rspec-core (~> 3.13.0)
69+
rspec-expectations (~> 3.13.0)
70+
rspec-mocks (~> 3.13.0)
71+
rspec-core (3.13.3)
72+
rspec-support (~> 3.13.0)
73+
rspec-expectations (3.13.3)
5974
diff-lcs (>= 1.2.0, < 2.0)
60-
rspec-support (~> 3.7.0)
61-
rspec-mocks (3.7.0)
75+
rspec-support (~> 3.13.0)
76+
rspec-mocks (3.13.2)
6277
diff-lcs (>= 1.2.0, < 2.0)
63-
rspec-support (~> 3.7.0)
64-
rspec-support (3.7.1)
78+
rspec-support (~> 3.13.0)
79+
rspec-support (3.13.2)
6580
rubocop (0.51.0)
6681
parallel (~> 1.10)
6782
parser (>= 2.3.3.1, < 3.0)
@@ -70,6 +85,7 @@ GEM
7085
ruby-progressbar (~> 1.7)
7186
unicode-display_width (~> 1.0, >= 1.0.1)
7287
ruby-progressbar (1.9.0)
88+
securerandom (0.4.1)
7389
thread_safe (0.3.6)
7490
tzinfo (2.0.6)
7591
concurrent-ruby (~> 1.0)
@@ -84,11 +100,11 @@ PLATFORMS
84100
ruby
85101

86102
DEPENDENCIES
87-
bundler (~> 2.4.22)
88-
pry (~> 0.11.3)
103+
bundler (~> 2.4)
104+
pry (~> 0.15.2)
89105
rake (>= 12.3)
90106
reek (~> 4.7.3)
91-
rspec (>= 3.7.0)
107+
rspec (>= 3.13.0)
92108
rubocop (~> 0.51.0)
93109
translations_checker!
94110

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module TranslationsChecker
4-
VERSION = "2.0.0"
4+
VERSION = "2.1.0"
55
end

spec/lib/translations_checker/diff_block_spec.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
it "returns the changes" do
2222
changes = [ double(:first_change), double(:second_change) ]
23-
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key_1", "-" => 8, "+" => 4).and_return changes[0]
24-
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key_2", "-" => 9, "+" => 5).and_return changes[1]
23+
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key_1", { "-" => 8, "+" => 4 }).and_return changes[0]
24+
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key_2", { "-" => 9, "+" => 5 }).and_return changes[1]
2525
expect(diff_block.changes).to eq changes
2626
end
2727
end
@@ -40,8 +40,8 @@
4040

4141
it "returns the changes" do
4242
changes = [ double(:first_change), double(:second_change) ]
43-
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key/1", "-" => 8, "+" => 4).and_return changes[0]
44-
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key/2", "-" => 9, "+" => 5).and_return changes[1]
43+
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key/1", { "-" => 8, "+" => 4 }).and_return changes[0]
44+
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key/2", { "-" => 9, "+" => 5 }).and_return changes[1]
4545
expect(diff_block.changes).to eq changes
4646
end
4747
end
@@ -57,7 +57,7 @@
5757

5858
it "returns the changes" do
5959
change = double(:change)
60-
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key", "-" => 6).and_return change
60+
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key", { "-" => 6 }).and_return change
6161
expect(diff_block.changes).to eq [ change ]
6262
end
6363
end
@@ -73,7 +73,7 @@
7373

7474
it "returns the changes" do
7575
change = double(:change)
76-
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key", "+" => 5).and_return change
76+
allow(TranslationsChecker::Change).to receive(:new).with(file_diff, "key", { "+" => 5 }).and_return change
7777
expect(diff_block.changes).to eq [ change ]
7878
end
7979
end

spec/spec_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
require "bundler/setup"
22
require "translations_checker"
3+
require "pry"
34

45
RSpec.configure do |config|
56
# Enable flags like --only-failures and --next-failure

translations_checker.gemspec

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,17 @@ Gem::Specification.new do |spec|
1919
spec.executables = %w(translations_checker)
2020
spec.require_paths = %w(lib)
2121

22-
spec.required_ruby_version = ">= 3.1.0"
22+
# Rails 8 requires >= 3.2
23+
spec.required_ruby_version = ENV["CI_RUBY_VERSION"] || "~> 3.1"
2324

24-
spec.add_runtime_dependency "activesupport", "~> 7.0.0"
25+
spec.add_runtime_dependency "activesupport", ENV["CI_RAILS_VERSION"] || "~> 7"
2526
spec.add_runtime_dependency "naught", "~> 1.1.0"
2627
spec.add_runtime_dependency 'concurrent-ruby', '1.3.4'
2728

28-
spec.add_development_dependency "bundler", "~> 2.4.22"
29-
spec.add_development_dependency "pry", "~> 0.11.3"
29+
spec.add_development_dependency "bundler", "~> 2.4"
30+
spec.add_development_dependency "pry", "~> 0.15.2"
3031
spec.add_development_dependency "rake", ">= 12.3"
3132
spec.add_development_dependency "reek", "~> 4.7.3"
32-
spec.add_development_dependency "rspec", ">= 3.7.0"
33+
spec.add_development_dependency "rspec", ">= 3.13.0"
3334
spec.add_development_dependency "rubocop", "~> 0.51.0"
3435
end

0 commit comments

Comments
 (0)