coach 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40747828c1defde983b21428aac71e2ad6676b8d72002f2d0f02b98cf88d42ea
4
- data.tar.gz: e95040aba8051a139313bfe0d3ba988ee34a8bd68ce5bed52fd12313d3fad123
3
+ metadata.gz: 217a386ddcf9c5f090e305fbea0597347682b27f08c0bf2e5829655295fd4f07
4
+ data.tar.gz: db731203348e9deef50bf2a019044754730a76b663d8dd25bccc22d82ed98e24
5
5
  SHA512:
6
- metadata.gz: 709f3905a98cc77fa24ce96611a5a61469eb984c0b77307f6e74a02a87efd1b4dcb88caa1917bb80753efb6c4a2535bd694b85a98d7e6779dd5f3840167ba87f
7
- data.tar.gz: 9ca316c7a3ce5bfc88053d2e8fc5004cc6b01bd069633290cd5ac4aa9e7cf25e6914a7c4098012f5136d62d7408949de84fbb7f939f846ec0d0db31e5c3356bb
6
+ metadata.gz: d558d264eedbedc90c9d568e7c9936a7d89e43b8688504eab7fb484dcdae22fe7fd477fdee8a5cce770f5adefd46c9a1468355df377517a7e0ca8699ec3649c9
7
+ data.tar.gz: af9030fc655eb07ef16f2e3c044ae3a137b82267da9b48fa5396c81d977647940e6584a01a41851c1f08afa50e72921e37d5d3e8de45a536fee5747a879cd6ca
@@ -19,16 +19,13 @@ jobs:
19
19
  strategy:
20
20
  fail-fast: false
21
21
  matrix:
22
- ruby-version: ["3.1", "3.2", "3.3", "3.4"]
23
- rails-version: ["7.0", "7.1", "7.2", "8.0"]
24
- exclude:
25
- - ruby-version: "3.1"
26
- rails-version: "8.0"
22
+ ruby-version: ["3.2", "3.3", "3.4", "4.0"]
23
+ rails-version: ["7.2", "8.0", "8.1"]
27
24
  runs-on: ubuntu-latest
28
25
  env:
29
26
  RAILS_VERSION: ${{ matrix.rails-version }}
30
27
  steps:
31
- - uses: actions/checkout@v3
28
+ - uses: actions/checkout@v6
32
29
  - name: Set up Ruby
33
30
  uses: ruby/setup-ruby@v1
34
31
  with:
data/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  # Unreleased
4
4
 
5
+ # 4.1.0 / 2025-12-03
6
+
7
+ * Add support for Rails 8.1. Drop support for Rails 7.0, 7.1 and Ruby 3.1
8
+
9
+ # 4.0.1 / 2025-07-04
10
+
11
+ * Bump `commander` runtime dependency version constraint to `< 6.0` due to deprecation of `abbrev` from Ruby standard library
12
+ * See https://github.com/commander-rb/commander/pull/102 for additional context
13
+
5
14
  # 4.0.0 / 2025-01-15
6
15
 
7
16
  * Drop support for Rails < 7.0 and Ruby < 3.0
data/Gemfile CHANGED
@@ -9,6 +9,6 @@ group :development, :test do
9
9
  gem "pry", "~> 0.10"
10
10
  gem "rails", "~> #{ENV['RAILS_VERSION']}" if ENV["RAILS_VERSION"]
11
11
  gem "rspec", "~> 3.13"
12
- gem "rspec-github", "~> 2.4.0"
13
- gem "rspec-its", "~> 1.2"
12
+ gem "rspec-github", "~> 3.0.0"
13
+ gem "rspec-its", "~> 2.0"
14
14
  end
data/coach.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency "actionpack", ">= 7.0"
22
22
  spec.add_dependency "activesupport", ">= 7.0"
23
- spec.add_dependency "commander", "~> 4.5"
23
+ spec.add_dependency "commander", ">= 4.5", "< 6.0"
24
24
 
25
25
  spec.metadata["rubygems_mfa_required"] = "true"
26
26
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Our goal as Coach maintainers is for the library to be compatible with all supported versions of Ruby and Rails.
4
4
 
5
- Specifically, any CRuby/MRI version that has not reached (End of Life)[https://endoflife.date/ruby] is supported. Similarly, any version of Rails listed as currently supported on [this page](https://endoflife.date/rails) is one we aim to support in Coach.
5
+ Specifically, any CRuby/MRI version that has not reached [End of Life](https://endoflife.date/ruby) is supported. Similarly, any version of Rails listed as currently supported on [this page](https://endoflife.date/rails) is one we aim to support in Coach.
6
6
 
7
7
  To that end, [our build matrix](../.github/tests.yml) includes all these versions.
8
8
 
data/lib/coach/router.rb CHANGED
@@ -29,7 +29,7 @@ module Coach
29
29
  end
30
30
 
31
31
  def match(url, **args)
32
- @mapper.match(url, args)
32
+ @mapper.match(url, **args)
33
33
  end
34
34
 
35
35
  private
data/lib/coach/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Coach
4
- VERSION = "4.0.0"
4
+ VERSION = "4.1.0"
5
5
  end
@@ -4,8 +4,6 @@ require "spec_helper"
4
4
  require "coach/middleware_validator"
5
5
 
6
6
  describe Coach::MiddlewareValidator do
7
- subject(:validator) { described_class.new(head_middleware, already_provided) }
8
-
9
7
  let(:head_middleware) { build_middleware("Head") }
10
8
  let(:already_provided) { [] }
11
9
 
@@ -22,7 +20,7 @@ describe Coach::MiddlewareValidator do
22
20
  end
23
21
 
24
22
  describe "#validated_provides!" do
25
- subject { -> { validator.validated_provides! } }
23
+ subject(:validator) { -> { described_class.new(head_middleware, already_provided).validated_provides! } }
26
24
 
27
25
  context "with satisfied requires" do
28
26
  context "one level deep" do
@@ -60,7 +58,9 @@ describe Coach::MiddlewareValidator do
60
58
  context "at terminal" do
61
59
  before { head_middleware.requires :a, :c }
62
60
 
63
- it { is_expected.to raise_exception(/missing \[:a, :c\]/) }
61
+ it "raises an exception" do
62
+ expect { validator.call }.to raise_exception(/missing \[:a, :c\]/)
63
+ end
64
64
  end
65
65
 
66
66
  context "from unordered middleware" do
@@ -69,7 +69,9 @@ describe Coach::MiddlewareValidator do
69
69
  middleware_b.provides :b
70
70
  end
71
71
 
72
- it { is_expected.to raise_exception(/missing \[:b\]/) }
72
+ it "raises an exception" do
73
+ expect { validator.call }.to raise_exception(/missing \[:b\]/)
74
+ end
73
75
  end
74
76
  end
75
77
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coach
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GoCardless
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-15 00:00:00.000000000 Z
10
+ date: 2025-12-08 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: actionpack
@@ -41,16 +41,22 @@ dependencies:
41
41
  name: commander
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '4.5'
47
+ - - "<"
48
+ - !ruby/object:Gem::Version
49
+ version: '6.0'
47
50
  type: :runtime
48
51
  prerelease: false
49
52
  version_requirements: !ruby/object:Gem::Requirement
50
53
  requirements:
51
- - - "~>"
54
+ - - ">="
52
55
  - !ruby/object:Gem::Version
53
56
  version: '4.5'
57
+ - - "<"
58
+ - !ruby/object:Gem::Version
59
+ version: '6.0'
54
60
  email:
55
61
  - developers@gocardless.com
56
62
  executables: