stripe_event 2.1.1 → 2.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +37 -0
- data/Appraisals +21 -1
- data/CHANGELOG.md +28 -0
- data/README.md +9 -17
- data/gemfiles/rails5.2.gemfile +1 -1
- data/gemfiles/rails6.0.gemfile +7 -0
- data/gemfiles/rails6.1.gemfile +7 -0
- data/gemfiles/stripe3.gemfile +7 -0
- data/gemfiles/stripe4.gemfile +7 -0
- data/gemfiles/stripe5.gemfile +7 -0
- data/lib/stripe_event/version.rb +1 -1
- data/lib/stripe_event.rb +5 -3
- data/spec/controllers/webhook_controller_spec.rb +28 -5
- data/stripe_event.gemspec +5 -5
- metadata +44 -35
- data/.travis.yml +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e8bf3dc8abec723bb2c3278c725f754bbe7cd991f868a8854ff04bac7bc778f
|
4
|
+
data.tar.gz: 46b48dae96008e8e9f27c8d7e39aa5a022614d322f2a60845b249dd862cec82b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56defdead871efd3c089a19db8382ded54786d7c899a39b6245e4b6c69e3a0a8379e792794aeb7bdbc9615f82ce107a528ea8953ac6c9a8d86c8ccd27a0e80a4
|
7
|
+
data.tar.gz: a91a63ef969c4e7cebac2ce7c083923a6d74cd3cfc166ea914c0956a3108edfc7591be179b44aa8fd10ce43dd8a4ec57119545f745f6a910f492b7c9ffcc98eb
|
@@ -0,0 +1,37 @@
|
|
1
|
+
name: CI
|
2
|
+
on: [push, pull_request]
|
3
|
+
|
4
|
+
jobs:
|
5
|
+
test:
|
6
|
+
runs-on: ubuntu-latest
|
7
|
+
strategy:
|
8
|
+
matrix:
|
9
|
+
ruby: ["2.5", "2.6", "2.7"]
|
10
|
+
bundler: [default]
|
11
|
+
gemfile:
|
12
|
+
- rails5.1
|
13
|
+
- rails5.2
|
14
|
+
- rails6.0
|
15
|
+
- rails6.1
|
16
|
+
- stripe3
|
17
|
+
- stripe4
|
18
|
+
- stripe5
|
19
|
+
include:
|
20
|
+
- { ruby: "2.3", gemfile: "rails3.2", bundler: "1" }
|
21
|
+
- { ruby: "2.3", gemfile: "rails4.2", bundler: "1" }
|
22
|
+
- { ruby: "2.4", gemfile: "rails4.2", bundler: "1" }
|
23
|
+
|
24
|
+
env:
|
25
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
26
|
+
steps:
|
27
|
+
# https://github.com/marketplace/actions/checkout
|
28
|
+
- uses: actions/checkout@v2
|
29
|
+
# https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
30
|
+
- name: Set up Ruby
|
31
|
+
uses: ruby/setup-ruby@v1
|
32
|
+
with:
|
33
|
+
ruby-version: ${{ matrix.ruby }}
|
34
|
+
bundler: ${{ matrix.bundler }}
|
35
|
+
bundler-cache: true # runs `bundle install` and caches gems automatically
|
36
|
+
- name: Run tests
|
37
|
+
run: bundle exec rake
|
data/Appraisals
CHANGED
@@ -12,7 +12,27 @@ appraise "rails5.1" do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
appraise "rails5.2" do
|
15
|
-
gem "rails", "
|
15
|
+
gem "rails", "~> 5.2.0"
|
16
|
+
end
|
17
|
+
|
18
|
+
appraise "rails6.0" do
|
19
|
+
gem "rails", "~> 6.0.0"
|
20
|
+
end
|
21
|
+
|
22
|
+
appraise "rails6.1" do
|
23
|
+
gem "rails", "~> 6.1.0"
|
24
|
+
end
|
25
|
+
|
26
|
+
appraise "stripe3" do
|
27
|
+
gem "stripe", "~> 3.0"
|
28
|
+
end
|
29
|
+
|
30
|
+
appraise "stripe4" do
|
31
|
+
gem "stripe", "~> 4.0"
|
32
|
+
end
|
33
|
+
|
34
|
+
appraise "stripe5" do
|
35
|
+
gem "stripe", "~> 5.0"
|
16
36
|
end
|
17
37
|
|
18
38
|
appraise "rails_master" do
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,31 @@
|
|
1
|
+
### 2.3.2 (February 21, 2022)
|
2
|
+
|
3
|
+
- Fix signature validation error if the first signing secret is nil (#146)
|
4
|
+
- Update README (#143)
|
5
|
+
- Setup github actions for CI (#147)
|
6
|
+
|
7
|
+
### 2.3.1 (May 12, 2020)
|
8
|
+
|
9
|
+
- Fix deprecation warning in Ruby 2.7 (#130)
|
10
|
+
- Fixes tests for Stripe 5.19.0 (#133)
|
11
|
+
|
12
|
+
### 2.3.0 (August 23, 2019)
|
13
|
+
|
14
|
+
- Add support for Stripe v5.x (#119)
|
15
|
+
- Add support for Rails v6.x to the build matrix (#119)
|
16
|
+
|
17
|
+
### 2.2.0 (December 6, 2018)
|
18
|
+
|
19
|
+
- Add support for Stripe v4.x (#119)
|
20
|
+
- Documentation Updates and Fixes (#113 and #117)
|
21
|
+
|
22
|
+
### 2.1.1 (January 31, 2018)
|
23
|
+
|
24
|
+
- Adds better support for Rails 5.2 (#105, #106, #107)
|
25
|
+
- `StripeEvent::WebhookController` now calls `skip_before_action :verify_authenticity_token` if `Rails.application.config.action_controller.default_protect_from_forgery` is set (as it is by default in Rails 5.2)
|
26
|
+
|
27
|
+
### 2.1.0 (yanked)
|
28
|
+
|
1
29
|
### 2.0.0 (December 14, 2017)
|
2
30
|
|
3
31
|
**Backwards incompatible release. [Signed webhooks are now required.](https://stripe.com/docs/webhooks#signatures).**
|
data/README.md
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
# StripeEvent
|
2
2
|
|
3
|
-
[![Build Status](https://
|
4
|
-
[![Dependency Status](https://gemnasium.com/integrallis/stripe_event.svg)](https://gemnasium.com/integrallis/stripe_event)
|
3
|
+
[![Build Status](https://github.com/integrallis/stripe_event/workflows/CI/badge.svg)](https://github.com/integrallis/stripe_event/actions?query=workflow%3ACI)
|
5
4
|
[![Gem Version](https://badge.fury.io/rb/stripe_event.svg)](http://badge.fury.io/rb/stripe_event)
|
6
5
|
[![Code Climate](https://codeclimate.com/github/integrallis/stripe_event.svg)](https://codeclimate.com/github/integrallis/stripe_event)
|
7
6
|
[![Coverage Status](https://coveralls.io/repos/integrallis/stripe_event/badge.svg)](https://coveralls.io/r/integrallis/stripe_event)
|
8
7
|
[![Gem Downloads](https://img.shields.io/gem/dt/stripe_event.svg)](https://rubygems.org/gems/stripe_event)
|
9
8
|
|
10
|
-
StripeEvent is built on the [ActiveSupport::Notifications API](http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html). Incoming webhook requests are authenticated
|
9
|
+
StripeEvent is built on the [ActiveSupport::Notifications API](http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html). Incoming webhook requests are [authenticated with the webhook signature](#authenticating-webhooks-with-signatures). Define subscribers to handle specific event types. Subscribers can be a block or an object that responds to `#call`.
|
11
10
|
|
12
11
|
## Install
|
13
12
|
|
@@ -81,7 +80,7 @@ end
|
|
81
80
|
|
82
81
|
### Authenticating webhooks with signatures
|
83
82
|
|
84
|
-
Stripe will cryptographically sign webhook payloads with a signature that is included in a special header sent with the request. Verifying this signature lets your application properly authenticate the request originated from Stripe.
|
83
|
+
Stripe will cryptographically sign webhook payloads with a signature that is included in a special header sent with the request. Verifying this signature lets your application properly authenticate the request originated from Stripe. **As of [v2.0.0](https://github.com/integrallis/stripe_event/releases/tag/v2.0.0), StripeEvent now mandates that this feature be used**. Please set the `signing_secret` configuration value:
|
85
84
|
|
86
85
|
```ruby
|
87
86
|
StripeEvent.signing_secret = Rails.application.secrets.stripe_signing_secret
|
@@ -106,13 +105,6 @@ StripeEvent.signing_secrets = [
|
|
106
105
|
|
107
106
|
If you have built an application that has multiple Stripe accounts--say, each of your customers has their own--you may want to define your own way of retrieving events from Stripe (e.g. perhaps you want to use the [account parameter](https://stripe.com/docs/connect/webhooks) from the top level to detect the customer for the event, then grab their specific API key). You can do this:
|
108
107
|
|
109
|
-
```ruby
|
110
|
-
StripeEvent.event_filter = lambda do |event|
|
111
|
-
api_key = Account.find_by!(stripe_account_id: event.account).api_key
|
112
|
-
Stripe::Event.retrieve(event.id, api_key)
|
113
|
-
end
|
114
|
-
```
|
115
|
-
|
116
108
|
```ruby
|
117
109
|
class EventFilter
|
118
110
|
def call(event)
|
@@ -173,11 +165,11 @@ end
|
|
173
165
|
|
174
166
|
## Testing
|
175
167
|
|
176
|
-
Handling webhooks is a critical piece of modern billing systems. Verifying the behavior of StripeEvent subscribers can be done fairly easily by stubbing out the HTTP signature header used to authenticate the webhook request. Tools like [Webmock](https://github.com/bblimke/webmock) and [VCR](https://github.com/vcr/vcr) work well. [RequestBin](
|
168
|
+
Handling webhooks is a critical piece of modern billing systems. Verifying the behavior of StripeEvent subscribers can be done fairly easily by stubbing out the HTTP signature header used to authenticate the webhook request. Tools like [Webmock](https://github.com/bblimke/webmock) and [VCR](https://github.com/vcr/vcr) work well. [RequestBin](https://requestbin.com/) is great for collecting the payloads. For exploratory phases of development, [UltraHook](http://www.ultrahook.com/) and other tools can forward webhook requests directly to localhost. You can check out [test-hooks](https://github.com/invisiblefunnel/test-hooks), an example Rails application to see how to test StripeEvent subscribers with RSpec request specs and Webmock. A quick look:
|
177
169
|
|
178
170
|
```ruby
|
179
171
|
# spec/requests/billing_events_spec.rb
|
180
|
-
require '
|
172
|
+
require 'rails_helper'
|
181
173
|
|
182
174
|
describe "Billing Events" do
|
183
175
|
def bypass_event_signature(payload)
|
@@ -186,12 +178,12 @@ describe "Billing Events" do
|
|
186
178
|
end
|
187
179
|
|
188
180
|
describe "customer.created" do
|
189
|
-
let(:payload) {
|
190
|
-
before(:each) { bypass_event_signature
|
181
|
+
let(:payload) { file_fixture('evt_customer_created.json').read }
|
182
|
+
before(:each) { bypass_event_signature(payload) }
|
191
183
|
|
192
184
|
it "is successful" do
|
193
|
-
post '/_billing_events',
|
194
|
-
expect(response
|
185
|
+
post '/_billing_events', params: payload
|
186
|
+
expect(response).to have_http_status(:success)
|
195
187
|
# Additional expectations...
|
196
188
|
end
|
197
189
|
end
|
data/gemfiles/rails5.2.gemfile
CHANGED
data/lib/stripe_event/version.rb
CHANGED
data/lib/stripe_event.rb
CHANGED
@@ -18,11 +18,13 @@ module StripeEvent
|
|
18
18
|
backend.instrument namespace.call(event.type), event if event
|
19
19
|
end
|
20
20
|
|
21
|
-
def subscribe(name, callable =
|
21
|
+
def subscribe(name, callable = nil, &block)
|
22
|
+
callable ||= block
|
22
23
|
backend.subscribe namespace.to_regexp(name), adapter.call(callable)
|
23
24
|
end
|
24
25
|
|
25
|
-
def all(callable =
|
26
|
+
def all(callable = nil, &block)
|
27
|
+
callable ||= block
|
26
28
|
subscribe nil, callable
|
27
29
|
end
|
28
30
|
|
@@ -32,7 +34,7 @@ module StripeEvent
|
|
32
34
|
end
|
33
35
|
|
34
36
|
def signing_secret=(value)
|
35
|
-
@signing_secrets = Array(value)
|
37
|
+
@signing_secrets = Array(value).compact
|
36
38
|
end
|
37
39
|
alias signing_secrets= signing_secret=
|
38
40
|
|
@@ -12,16 +12,25 @@ describe StripeEvent::WebhookController, type: :controller do
|
|
12
12
|
|
13
13
|
def generate_signature(params, secret)
|
14
14
|
payload = params.to_json
|
15
|
-
timestamp = Time.now
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
timestamp = Time.now
|
16
|
+
|
17
|
+
# compute_signature was private until version 5.19.0 when it was made
|
18
|
+
# public and had it's API changed to split timestamp to a separate field.
|
19
|
+
signer = Stripe::Webhook::Signature.method(:compute_signature)
|
20
|
+
signature =
|
21
|
+
if signer.arity == 3
|
22
|
+
signer.call(timestamp, payload, secret)
|
23
|
+
else
|
24
|
+
signer.call("#{timestamp.to_i}.#{payload}", secret)
|
25
|
+
end
|
26
|
+
|
27
|
+
"t=#{timestamp.to_i},v1=#{signature}"
|
19
28
|
end
|
20
29
|
|
21
30
|
def webhook(signature, params)
|
22
31
|
request.env['HTTP_STRIPE_SIGNATURE'] = signature
|
23
32
|
request.env['RAW_POST_DATA'] = params.to_json # works with Rails 3, 4, or 5
|
24
|
-
post :event
|
33
|
+
post :event, body: params.to_json
|
25
34
|
end
|
26
35
|
|
27
36
|
def webhook_with_signature(params, secret = secret1)
|
@@ -123,4 +132,18 @@ describe StripeEvent::WebhookController, type: :controller do
|
|
123
132
|
expect(response.code).to eq '200'
|
124
133
|
end
|
125
134
|
end
|
135
|
+
|
136
|
+
context "with multiple signing secrets first of which is nil" do
|
137
|
+
before(:each) { StripeEvent.signing_secrets = [nil, secret1, secret2] }
|
138
|
+
|
139
|
+
it "succeeds with valid signature from first secret" do
|
140
|
+
webhook_with_signature charge_succeeded, secret1
|
141
|
+
expect(response.code).to eq '200'
|
142
|
+
end
|
143
|
+
|
144
|
+
it "succeeds with valid signature from second secret" do
|
145
|
+
webhook_with_signature charge_succeeded, secret2
|
146
|
+
expect(response.code).to eq '200'
|
147
|
+
end
|
148
|
+
end
|
126
149
|
end
|
data/stripe_event.gemspec
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
$LOAD_PATH.push File.expand_path("lib", __dir__)
|
2
2
|
|
3
3
|
# Maintain your gem's version:
|
4
4
|
require "stripe_event/version"
|
@@ -18,12 +18,12 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.test_files = `git ls-files -- Appraisals {spec,gemfiles}/*`.split("\n")
|
19
19
|
|
20
20
|
s.add_dependency "activesupport", ">= 3.1"
|
21
|
-
s.add_dependency "stripe", [">= 2.8", "<
|
21
|
+
s.add_dependency "stripe", [">= 2.8", "< 6"]
|
22
22
|
|
23
|
+
s.add_development_dependency "appraisal"
|
24
|
+
s.add_development_dependency "coveralls"
|
23
25
|
s.add_development_dependency "rails", [">= 3.1"]
|
24
|
-
s.add_development_dependency "rake"
|
26
|
+
s.add_development_dependency "rake"
|
25
27
|
s.add_development_dependency "rspec-rails", "~> 3.7"
|
26
28
|
s.add_development_dependency "webmock", "~> 1.9"
|
27
|
-
s.add_development_dependency "appraisal"
|
28
|
-
s.add_development_dependency "coveralls"
|
29
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stripe_event
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Whalen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
version: '2.8'
|
34
34
|
- - "<"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: '
|
36
|
+
version: '6'
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,100 +43,100 @@ dependencies:
|
|
43
43
|
version: '2.8'
|
44
44
|
- - "<"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
46
|
+
version: '6'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
48
|
+
name: appraisal
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '0'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
60
|
+
version: '0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
62
|
+
name: coveralls
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - "
|
65
|
+
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
67
|
+
version: '0'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- - "
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
74
|
+
version: '0'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
76
|
+
name: rails
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- - "
|
79
|
+
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '3.
|
81
|
+
version: '3.1'
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- - "
|
86
|
+
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '3.
|
88
|
+
version: '3.1'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
|
-
name:
|
90
|
+
name: rake
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- - "
|
93
|
+
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
95
|
+
version: '0'
|
96
96
|
type: :development
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- - "
|
100
|
+
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
102
|
+
version: '0'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
|
-
name:
|
104
|
+
name: rspec-rails
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
|
-
- - "
|
107
|
+
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
109
|
+
version: '3.7'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- - "
|
114
|
+
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
116
|
+
version: '3.7'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
118
|
+
name: webmock
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
|
-
- - "
|
121
|
+
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
123
|
+
version: '1.9'
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- - "
|
128
|
+
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
130
|
+
version: '1.9'
|
131
131
|
description: Stripe webhook integration for Rails applications.
|
132
132
|
email: daniel.r.whalen@gmail.com
|
133
133
|
executables: []
|
134
134
|
extensions: []
|
135
135
|
extra_rdoc_files: []
|
136
136
|
files:
|
137
|
+
- ".github/workflows/ci.yml"
|
137
138
|
- ".gitignore"
|
138
139
|
- ".rspec"
|
139
|
-
- ".travis.yml"
|
140
140
|
- Appraisals
|
141
141
|
- CHANGELOG.md
|
142
142
|
- CONTRIBUTING.md
|
@@ -150,7 +150,12 @@ files:
|
|
150
150
|
- gemfiles/rails4.2.gemfile
|
151
151
|
- gemfiles/rails5.1.gemfile
|
152
152
|
- gemfiles/rails5.2.gemfile
|
153
|
+
- gemfiles/rails6.0.gemfile
|
154
|
+
- gemfiles/rails6.1.gemfile
|
153
155
|
- gemfiles/rails_master.gemfile
|
156
|
+
- gemfiles/stripe3.gemfile
|
157
|
+
- gemfiles/stripe4.gemfile
|
158
|
+
- gemfiles/stripe5.gemfile
|
154
159
|
- lib/stripe_event.rb
|
155
160
|
- lib/stripe_event/engine.rb
|
156
161
|
- lib/stripe_event/version.rb
|
@@ -211,8 +216,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
211
216
|
- !ruby/object:Gem::Version
|
212
217
|
version: '0'
|
213
218
|
requirements: []
|
214
|
-
|
215
|
-
rubygems_version: 2.7.0
|
219
|
+
rubygems_version: 3.3.7
|
216
220
|
signing_key:
|
217
221
|
specification_version: 4
|
218
222
|
summary: Stripe webhook integration for Rails applications.
|
@@ -222,7 +226,12 @@ test_files:
|
|
222
226
|
- gemfiles/rails4.2.gemfile
|
223
227
|
- gemfiles/rails5.1.gemfile
|
224
228
|
- gemfiles/rails5.2.gemfile
|
229
|
+
- gemfiles/rails6.0.gemfile
|
230
|
+
- gemfiles/rails6.1.gemfile
|
225
231
|
- gemfiles/rails_master.gemfile
|
232
|
+
- gemfiles/stripe3.gemfile
|
233
|
+
- gemfiles/stripe4.gemfile
|
234
|
+
- gemfiles/stripe5.gemfile
|
226
235
|
- spec/controllers/webhook_controller_spec.rb
|
227
236
|
- spec/dummy/README.rdoc
|
228
237
|
- spec/dummy/Rakefile
|
data/.travis.yml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
cache: bundler
|
3
|
-
sudo: false
|
4
|
-
|
5
|
-
rvm:
|
6
|
-
- 2.3.6
|
7
|
-
- 2.4.3
|
8
|
-
- 2.5.0
|
9
|
-
|
10
|
-
gemfile:
|
11
|
-
- gemfiles/rails4.2.gemfile
|
12
|
-
- gemfiles/rails5.1.gemfile
|
13
|
-
- gemfiles/rails5.2.gemfile
|
14
|
-
- gemfiles/rails_master.gemfile
|
15
|
-
|
16
|
-
matrix:
|
17
|
-
include:
|
18
|
-
- rvm: 2.3.6
|
19
|
-
gemfile: gemfiles/rails3.2.gemfile
|
20
|
-
allow_failures:
|
21
|
-
- gemfile: gemfiles/rails_master.gemfile
|
22
|
-
fast_finish: true
|
23
|
-
|
24
|
-
notifications:
|
25
|
-
email:
|
26
|
-
- daniel.r.whalen+travis-ci@gmail.com
|