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 +4 -4
- data/.github/workflows/tests.yml +3 -6
- data/CHANGELOG.md +9 -0
- data/Gemfile +2 -2
- data/coach.gemspec +1 -1
- data/docs/COMPATIBILITY.md +1 -1
- data/lib/coach/router.rb +1 -1
- data/lib/coach/version.rb +1 -1
- data/spec/lib/coach/middleware_validator_spec.rb +7 -5
- metadata +10 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 217a386ddcf9c5f090e305fbea0597347682b27f08c0bf2e5829655295fd4f07
|
|
4
|
+
data.tar.gz: db731203348e9deef50bf2a019044754730a76b663d8dd25bccc22d82ed98e24
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d558d264eedbedc90c9d568e7c9936a7d89e43b8688504eab7fb484dcdae22fe7fd477fdee8a5cce770f5adefd46c9a1468355df377517a7e0ca8699ec3649c9
|
|
7
|
+
data.tar.gz: af9030fc655eb07ef16f2e3c044ae3a137b82267da9b48fa5396c81d977647940e6584a01a41851c1f08afa50e72921e37d5d3e8de45a536fee5747a879cd6ca
|
data/.github/workflows/tests.yml
CHANGED
|
@@ -19,16 +19,13 @@ jobs:
|
|
|
19
19
|
strategy:
|
|
20
20
|
fail-fast: false
|
|
21
21
|
matrix:
|
|
22
|
-
ruby-version: ["3.
|
|
23
|
-
rails-version: ["7.
|
|
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@
|
|
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", "~>
|
|
13
|
-
gem "rspec-its", "~>
|
|
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", "
|
|
23
|
+
spec.add_dependency "commander", ">= 4.5", "< 6.0"
|
|
24
24
|
|
|
25
25
|
spec.metadata["rubygems_mfa_required"] = "true"
|
|
26
26
|
end
|
data/docs/COMPATIBILITY.md
CHANGED
|
@@ -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
|
|
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
data/lib/coach/version.rb
CHANGED
|
@@ -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 { -> {
|
|
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
|
|
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
|
|
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.
|
|
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-
|
|
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:
|