stripe_event 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f6070a2804286e6d3f688f6051d68dddbf6c0aad
4
+ data.tar.gz: 073f86d95bf6dd878acf263627d2abc2e84cc545
5
+ SHA512:
6
+ metadata.gz: 55c9eaab6a57aff64563cdb7a6daf7c2352e738f3a067f6cea66aca7d0920fdd766d8d36b15e8c9020db8a1ee9c488387a78c23db954ba2527cb932043900746
7
+ data.tar.gz: f72b89d80bfd9a092da76988dbe6c038ed00558c72524df8e6740c769f4edf7af6c5921725d271b5dee2142342c9d690ea4958bf52aa8cb2f716f22c6e5b137d
data/.gitignore CHANGED
@@ -6,4 +6,5 @@ spec/dummy/log/*.log
6
6
  spec/dummy/tmp/
7
7
  spec/dummy/.sass-cache
8
8
  Gemfile.lock
9
+ gemfiles/*.lock
9
10
  coverage/*
@@ -1,21 +1,20 @@
1
1
  language: ruby
2
+
2
3
  rvm:
3
- - 1.9.2
4
4
  - 1.9.3
5
- - 2.0.0
6
- - 2.1.0
5
+ - 2.1
7
6
  - jruby-19mode
7
+
8
8
  gemfile:
9
- - gemfiles/rails3.1.gemfile
10
9
  - gemfiles/rails3.2.gemfile
11
- - gemfiles/rails4.0.gemfile
12
10
  - gemfiles/rails4.1.gemfile
11
+ - gemfiles/rails4.2.gemfile
12
+
13
+ sudo: false
14
+
13
15
  matrix:
14
- exclude:
15
- - rvm: 1.9.2
16
- gemfile: gemfiles/rails4.0.gemfile
17
- - rvm: 1.9.2
18
- gemfile: gemfiles/rails4.1.gemfile
16
+ fast_finish: true
17
+
19
18
  notifications:
20
19
  email:
21
20
  - daniel.r.whalen+travis-ci@gmail.com
data/Appraisals CHANGED
@@ -1,15 +1,11 @@
1
- appraise "rails3.1" do
2
- gem "rails", "~> 3.1.0"
3
- end
4
-
5
1
  appraise "rails3.2" do
6
2
  gem "rails", "~> 3.2.0"
7
3
  end
8
4
 
9
- appraise "rails4.0" do
10
- gem "rails", "~> 4.0.0"
11
- end
12
-
13
5
  appraise "rails4.1" do
14
6
  gem "rails", "~> 4.1.0"
15
7
  end
8
+
9
+ appraise "rails4.2" do
10
+ gem "rails", "~> 4.2.0"
11
+ end
@@ -1,3 +1,7 @@
1
+ ### 1.5.0 (February 25, 2015)
2
+ * Added [replay attack protection](https://github.com/integrallis/stripe_event#securing-your-webhook-endpoint) on webhooks. See `StripeEvent.authentication_secret`. Thanks @brentdax for both the initial discussion and the implementation! #53, #55
3
+ * Dropped official support for Rails 3.1 and Rails 4.0
4
+
1
5
  ### 1.4.0 (November 1, 2014)
2
6
  * Add `StripeEvent.listening?` method to easily determine if an event type has any registered handlers. Thank you to [Vladimir Andrijevik](https://github.com/vandrijevik) for the [idea and implementation](https://github.com/integrallis/stripe_event/pull/42).
3
7
 
data/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License
2
2
 
3
- Copyright 2012-2014 Integrallis Software
3
+ Copyright 2012-2015 Integrallis Software
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # StripeEvent
2
- [![Build Status](https://secure.travis-ci.org/integrallis/stripe_event.png?branch=master)](http://travis-ci.org/integrallis/stripe_event) [![Dependency Status](https://gemnasium.com/integrallis/stripe_event.png)](https://gemnasium.com/integrallis/stripe_event) [![Gem Version](https://badge.fury.io/rb/stripe_event.png)](http://badge.fury.io/rb/stripe_event) [![Code Climate](https://codeclimate.com/github/integrallis/stripe_event.png)](https://codeclimate.com/github/integrallis/stripe_event) [![Coverage Status](https://coveralls.io/repos/integrallis/stripe_event/badge.png)](https://coveralls.io/r/integrallis/stripe_event)
2
+ [![Build Status](https://secure.travis-ci.org/integrallis/stripe_event.svg)](http://travis-ci.org/integrallis/stripe_event) [![Dependency Status](https://gemnasium.com/integrallis/stripe_event.svg)](https://gemnasium.com/integrallis/stripe_event) [![Gem Version](https://badge.fury.io/rb/stripe_event.svg)](http://badge.fury.io/rb/stripe_event) [![Code Climate](https://codeclimate.com/github/integrallis/stripe_event.svg)](https://codeclimate.com/github/integrallis/stripe_event) [![Coverage Status](https://coveralls.io/repos/integrallis/stripe_event/badge.svg)](https://coveralls.io/r/integrallis/stripe_event)
3
3
 
4
4
  StripeEvent is built on the [ActiveSupport::Notifications API](http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html). Incoming webhook requests are authenticated by [retrieving the event object](https://stripe.com/docs/api?lang=ruby#retrieve_event) from Stripe. Define subscribers to handle specific event types. Subscribers can be a block or an object that responds to `#call`.
5
5
 
@@ -12,7 +12,7 @@ gem 'stripe_event'
12
12
 
13
13
  ```ruby
14
14
  # config/routes.rb
15
- mount StripeEvent::Engine => '/my-chosen-path' # provide a custom path
15
+ mount StripeEvent::Engine, at: '/my-chosen-path' # provide a custom path
16
16
  ```
17
17
 
18
18
  ## Usage
@@ -70,6 +70,29 @@ StripeEvent.subscribe 'customer.card.' do |event|
70
70
  end
71
71
  ```
72
72
 
73
+ ## Securing your webhook endpoint
74
+
75
+ StripeEvent automatically fetches events from Stripe to ensure they haven't been forged. However, that doesn't prevent an attacker who knows your endpoint name and an event's ID from forcing your server to process a legitimate event twice. If that event triggers some useful action, like generating a license key or enabling a delinquent account, you could end up giving something the attacker is supposed to pay for away for free.
76
+
77
+ To prevent this, StripeEvent supports using HTTP Basic authentication on your webhook endpoint. If only Stripe knows the basic authentication password, this ensures that the request really comes from Stripe. Here's what you do:
78
+
79
+ 1. Arrange for a secret key to be available in your application's environment variables or `secrets.yml` file. You can generate a suitable secret with the `rake secret` command. (Remember, the `secrets.yml` file shouldn't contain production secrets directly; it should use ERB to include them.)
80
+
81
+ 2. Configure StripeEvent to require that secret be used as a basic authentication password, using code along the lines of these examples:
82
+
83
+ ```ruby
84
+ # STRIPE_WEBHOOK_SECRET environment variable
85
+ StripeEvent.authentication_secret = ENV['STRIPE_WEBHOOK_SECRET']
86
+ # stripe_webhook_secret key in secrets.yml file
87
+ StripeEvent.authentication_secret = Rails.application.secrets.stripe_webhook_secret
88
+ ```
89
+
90
+ 3. When you specify your webhook's URL in Stripe's settings, include the secret as a password in the URL, along with any username:
91
+
92
+ https://stripe:my-secret-key@myapplication.com/my-webhook-path
93
+
94
+ This is only truly secure if your webhook endpoint is accessed over SSL, which Stripe strongly recommends anyway.
95
+
73
96
  ## Configuration
74
97
 
75
98
  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 [user_id parameter](https://stripe.com/docs/apps/getting-started#webhooks) from the top level to detect the customer for the event, then grab their specific API key). You can do this:
@@ -169,6 +192,14 @@ end
169
192
 
170
193
  This button sends an example event to your webhook urls, including an `id` of `evt_00000000000000`. To confirm that Stripe sent the webhook, StripeEvent attempts to retrieve the event details from Stripe using the given `id`. In this case the event does not exist and StripeEvent responds with `401 Unauthorized`. Instead of using the 'Test Webhooks' button, trigger webhooks by using the Stripe API or Dashboard to create test payments, customers, etc.
171
194
 
195
+ ### Maintainers
196
+
197
+ * [Ryan McGeary](https://github.com/rmm5t)
198
+ * [Pete Keen](https://github.com/peterkeen)
199
+ * [Danny Whalen](https://github.com/invisiblefunnel)
200
+
201
+ Special thanks to all the [contributors](https://github.com/integrallis/stripe_event/graphs/contributors).
202
+
172
203
  ### License
173
204
 
174
- [MIT License](https://github.com/integrallis/stripe_event/blob/master/LICENSE.md). Copyright 2012-2014 Integrallis Software.
205
+ [MIT License](https://github.com/integrallis/stripe_event/blob/master/LICENSE.md). Copyright 2012-2015 Integrallis Software.
@@ -1,5 +1,13 @@
1
1
  module StripeEvent
2
2
  class WebhookController < ActionController::Base
3
+ before_filter do
4
+ if StripeEvent.authentication_secret
5
+ authenticate_or_request_with_http_basic do |username, password|
6
+ password == StripeEvent.authentication_secret
7
+ end
8
+ end
9
+ end
10
+
3
11
  def event
4
12
  StripeEvent.instrument(params)
5
13
  head :ok
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "rails", "~> 3.1.0"
5
+ gem "rails", "~> 4.2.0"
6
6
 
7
7
  gemspec :path => "../"
@@ -4,7 +4,7 @@ require "stripe_event/engine" if defined?(Rails)
4
4
 
5
5
  module StripeEvent
6
6
  class << self
7
- attr_accessor :adapter, :backend, :event_retriever, :namespace
7
+ attr_accessor :adapter, :backend, :event_retriever, :namespace, :authentication_secret
8
8
 
9
9
  def configure(&block)
10
10
  raise ArgumentError, "must provide a block" unless block_given?
@@ -1,3 +1,3 @@
1
1
  module StripeEvent
2
- VERSION = "1.4.0"
2
+ VERSION = "1.5.0"
3
3
  end
@@ -51,4 +51,35 @@ describe StripeEvent::WebhookController do
51
51
 
52
52
  expect { webhook id: 'evt_charge_succeeded' }.to raise_error(Stripe::StripeError, /testing/)
53
53
  end
54
+
55
+ context "with an authentication secret" do
56
+ def webhook_with_secret(secret, params)
57
+ request.env['HTTP_AUTHORIZATION'] = ActionController::HttpAuthentication::Basic.encode_credentials('user', secret)
58
+ webhook params
59
+ end
60
+
61
+ before(:each) { StripeEvent.authentication_secret = "secret" }
62
+ after(:each) { StripeEvent.authentication_secret = nil }
63
+
64
+ it "rejects requests with no secret" do
65
+ stub_event('evt_charge_succeeded')
66
+
67
+ webhook id: 'evt_charge_succeeded'
68
+ expect(response.code).to eq '401'
69
+ end
70
+
71
+ it "rejects requests with incorrect secret" do
72
+ stub_event('evt_charge_succeeded')
73
+
74
+ webhook_with_secret 'incorrect', id: 'evt_charge_succeeded'
75
+ expect(response.code).to eq '401'
76
+ end
77
+
78
+ it "accepts requests with correct secret" do
79
+ stub_event('evt_charge_succeeded')
80
+
81
+ webhook_with_secret 'secret', id: 'evt_charge_succeeded'
82
+ expect(response.code).to eq '200'
83
+ end
84
+ end
54
85
  end
metadata CHANGED
@@ -1,126 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe_event
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
5
- prerelease:
4
+ version: 1.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Danny Whalen
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-11-02 00:00:00.000000000 Z
11
+ date: 2015-02-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '3.1'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '3.1'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: stripe
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
33
  version: '1.6'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
40
  version: '1.6'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rails
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '3.1'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '3.1'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rspec-rails
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - "~>"
68
60
  - !ruby/object:Gem::Version
69
61
  version: '2.12'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - "~>"
76
67
  - !ruby/object:Gem::Version
77
68
  version: '2.12'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: webmock
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ~>
73
+ - - "~>"
84
74
  - !ruby/object:Gem::Version
85
75
  version: '1.9'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ~>
80
+ - - "~>"
92
81
  - !ruby/object:Gem::Version
93
82
  version: '1.9'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: appraisal
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - ">="
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - ">="
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: coveralls
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - ">="
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - ">="
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  description: Stripe webhook integration for Rails applications.
@@ -129,9 +114,9 @@ executables: []
129
114
  extensions: []
130
115
  extra_rdoc_files: []
131
116
  files:
132
- - .gitignore
133
- - .rspec
134
- - .travis.yml
117
+ - ".gitignore"
118
+ - ".rspec"
119
+ - ".travis.yml"
135
120
  - Appraisals
136
121
  - CHANGELOG.md
137
122
  - Gemfile
@@ -140,14 +125,9 @@ files:
140
125
  - Rakefile
141
126
  - app/controllers/stripe_event/webhook_controller.rb
142
127
  - config/routes.rb
143
- - gemfiles/rails3.1.gemfile
144
- - gemfiles/rails3.1.gemfile.lock
145
128
  - gemfiles/rails3.2.gemfile
146
- - gemfiles/rails3.2.gemfile.lock
147
- - gemfiles/rails4.0.gemfile
148
- - gemfiles/rails4.0.gemfile.lock
149
129
  - gemfiles/rails4.1.gemfile
150
- - gemfiles/rails4.1.gemfile.lock
130
+ - gemfiles/rails4.2.gemfile
151
131
  - lib/stripe_event.rb
152
132
  - lib/stripe_event/engine.rb
153
133
  - lib/stripe_event/version.rb
@@ -192,38 +172,32 @@ files:
192
172
  homepage: https://github.com/integrallis/stripe_event
193
173
  licenses:
194
174
  - MIT
175
+ metadata: {}
195
176
  post_install_message:
196
177
  rdoc_options: []
197
178
  require_paths:
198
179
  - lib
199
180
  required_ruby_version: !ruby/object:Gem::Requirement
200
- none: false
201
181
  requirements:
202
- - - ! '>='
182
+ - - ">="
203
183
  - !ruby/object:Gem::Version
204
184
  version: '0'
205
185
  required_rubygems_version: !ruby/object:Gem::Requirement
206
- none: false
207
186
  requirements:
208
- - - ! '>='
187
+ - - ">="
209
188
  - !ruby/object:Gem::Version
210
189
  version: '0'
211
190
  requirements: []
212
191
  rubyforge_project:
213
- rubygems_version: 1.8.23.2
192
+ rubygems_version: 2.4.5
214
193
  signing_key:
215
- specification_version: 3
194
+ specification_version: 4
216
195
  summary: Stripe webhook integration for Rails applications.
217
196
  test_files:
218
197
  - Appraisals
219
- - gemfiles/rails3.1.gemfile
220
- - gemfiles/rails3.1.gemfile.lock
221
198
  - gemfiles/rails3.2.gemfile
222
- - gemfiles/rails3.2.gemfile.lock
223
- - gemfiles/rails4.0.gemfile
224
- - gemfiles/rails4.0.gemfile.lock
225
199
  - gemfiles/rails4.1.gemfile
226
- - gemfiles/rails4.1.gemfile.lock
200
+ - gemfiles/rails4.2.gemfile
227
201
  - spec/controllers/webhook_controller_spec.rb
228
202
  - spec/dummy/README.rdoc
229
203
  - spec/dummy/Rakefile
@@ -1,149 +0,0 @@
1
- PATH
2
- remote: ../
3
- specs:
4
- stripe_event (1.4.0)
5
- activesupport (>= 3.1)
6
- stripe (~> 1.6)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionmailer (3.1.12)
12
- actionpack (= 3.1.12)
13
- mail (~> 2.4.4)
14
- actionpack (3.1.12)
15
- activemodel (= 3.1.12)
16
- activesupport (= 3.1.12)
17
- builder (~> 3.0.0)
18
- erubis (~> 2.7.0)
19
- i18n (~> 0.6)
20
- rack (~> 1.3.6)
21
- rack-cache (~> 1.2)
22
- rack-mount (~> 0.8.2)
23
- rack-test (~> 0.6.1)
24
- sprockets (~> 2.0.4)
25
- activemodel (3.1.12)
26
- activesupport (= 3.1.12)
27
- builder (~> 3.0.0)
28
- i18n (~> 0.6)
29
- activerecord (3.1.12)
30
- activemodel (= 3.1.12)
31
- activesupport (= 3.1.12)
32
- arel (~> 2.2.3)
33
- tzinfo (~> 0.3.29)
34
- activeresource (3.1.12)
35
- activemodel (= 3.1.12)
36
- activesupport (= 3.1.12)
37
- activesupport (3.1.12)
38
- multi_json (~> 1.0)
39
- addressable (2.3.6)
40
- appraisal (1.0.2)
41
- bundler
42
- rake
43
- thor (>= 0.14.0)
44
- arel (2.2.3)
45
- builder (3.0.4)
46
- coveralls (0.7.1)
47
- multi_json (~> 1.3)
48
- rest-client
49
- simplecov (>= 0.7)
50
- term-ansicolor
51
- thor
52
- crack (0.4.2)
53
- safe_yaml (~> 1.0.0)
54
- diff-lcs (1.2.5)
55
- docile (1.1.5)
56
- erubis (2.7.0)
57
- hike (1.2.3)
58
- i18n (0.6.11)
59
- json (1.8.1)
60
- mail (2.4.4)
61
- i18n (>= 0.4.0)
62
- mime-types (~> 1.16)
63
- treetop (~> 1.4.8)
64
- mime-types (1.25.1)
65
- multi_json (1.10.1)
66
- netrc (0.8.0)
67
- polyglot (0.3.5)
68
- rack (1.3.10)
69
- rack-cache (1.2)
70
- rack (>= 0.4)
71
- rack-mount (0.8.3)
72
- rack (>= 1.0.0)
73
- rack-ssl (1.3.4)
74
- rack
75
- rack-test (0.6.2)
76
- rack (>= 1.0)
77
- rails (3.1.12)
78
- actionmailer (= 3.1.12)
79
- actionpack (= 3.1.12)
80
- activerecord (= 3.1.12)
81
- activeresource (= 3.1.12)
82
- activesupport (= 3.1.12)
83
- bundler (~> 1.0)
84
- railties (= 3.1.12)
85
- railties (3.1.12)
86
- actionpack (= 3.1.12)
87
- activesupport (= 3.1.12)
88
- rack-ssl (~> 1.3.2)
89
- rake (>= 0.8.7)
90
- rdoc (~> 3.4)
91
- thor (~> 0.14.6)
92
- rake (10.3.2)
93
- rdoc (3.12.2)
94
- json (~> 1.4)
95
- rest-client (1.7.2)
96
- mime-types (>= 1.16, < 3.0)
97
- netrc (~> 0.7)
98
- rspec-collection_matchers (1.0.0)
99
- rspec-expectations (>= 2.99.0.beta1)
100
- rspec-core (2.99.2)
101
- rspec-expectations (2.99.2)
102
- diff-lcs (>= 1.1.3, < 2.0)
103
- rspec-mocks (2.99.2)
104
- rspec-rails (2.99.0)
105
- actionpack (>= 3.0)
106
- activemodel (>= 3.0)
107
- activesupport (>= 3.0)
108
- railties (>= 3.0)
109
- rspec-collection_matchers
110
- rspec-core (~> 2.99.0)
111
- rspec-expectations (~> 2.99.0)
112
- rspec-mocks (~> 2.99.0)
113
- safe_yaml (1.0.4)
114
- simplecov (0.9.1)
115
- docile (~> 1.1.0)
116
- multi_json (~> 1.0)
117
- simplecov-html (~> 0.8.0)
118
- simplecov-html (0.8.0)
119
- sprockets (2.0.5)
120
- hike (~> 1.2)
121
- rack (~> 1.0)
122
- tilt (~> 1.1, != 1.3.0)
123
- stripe (1.16.0)
124
- json (~> 1.8.1)
125
- mime-types (>= 1.25, < 3.0)
126
- rest-client (~> 1.4)
127
- term-ansicolor (1.3.0)
128
- tins (~> 1.0)
129
- thor (0.14.6)
130
- tilt (1.4.1)
131
- tins (1.3.3)
132
- treetop (1.4.15)
133
- polyglot
134
- polyglot (>= 0.3.1)
135
- tzinfo (0.3.42)
136
- webmock (1.20.0)
137
- addressable (>= 2.3.6)
138
- crack (>= 0.3.2)
139
-
140
- PLATFORMS
141
- ruby
142
-
143
- DEPENDENCIES
144
- appraisal
145
- coveralls
146
- rails (~> 3.1.0)
147
- rspec-rails (~> 2.12)
148
- stripe_event!
149
- webmock (~> 1.9)
@@ -1,147 +0,0 @@
1
- PATH
2
- remote: ../
3
- specs:
4
- stripe_event (1.4.0)
5
- activesupport (>= 3.1)
6
- stripe (~> 1.6)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionmailer (3.2.20)
12
- actionpack (= 3.2.20)
13
- mail (~> 2.5.4)
14
- actionpack (3.2.20)
15
- activemodel (= 3.2.20)
16
- activesupport (= 3.2.20)
17
- builder (~> 3.0.0)
18
- erubis (~> 2.7.0)
19
- journey (~> 1.0.4)
20
- rack (~> 1.4.5)
21
- rack-cache (~> 1.2)
22
- rack-test (~> 0.6.1)
23
- sprockets (~> 2.2.1)
24
- activemodel (3.2.20)
25
- activesupport (= 3.2.20)
26
- builder (~> 3.0.0)
27
- activerecord (3.2.20)
28
- activemodel (= 3.2.20)
29
- activesupport (= 3.2.20)
30
- arel (~> 3.0.2)
31
- tzinfo (~> 0.3.29)
32
- activeresource (3.2.20)
33
- activemodel (= 3.2.20)
34
- activesupport (= 3.2.20)
35
- activesupport (3.2.20)
36
- i18n (~> 0.6, >= 0.6.4)
37
- multi_json (~> 1.0)
38
- addressable (2.3.6)
39
- appraisal (1.0.2)
40
- bundler
41
- rake
42
- thor (>= 0.14.0)
43
- arel (3.0.3)
44
- builder (3.0.4)
45
- coveralls (0.7.1)
46
- multi_json (~> 1.3)
47
- rest-client
48
- simplecov (>= 0.7)
49
- term-ansicolor
50
- thor
51
- crack (0.4.2)
52
- safe_yaml (~> 1.0.0)
53
- diff-lcs (1.2.5)
54
- docile (1.1.5)
55
- erubis (2.7.0)
56
- hike (1.2.3)
57
- i18n (0.6.11)
58
- journey (1.0.4)
59
- json (1.8.1)
60
- mail (2.5.4)
61
- mime-types (~> 1.16)
62
- treetop (~> 1.4.8)
63
- mime-types (1.25.1)
64
- multi_json (1.10.1)
65
- netrc (0.8.0)
66
- polyglot (0.3.5)
67
- rack (1.4.5)
68
- rack-cache (1.2)
69
- rack (>= 0.4)
70
- rack-ssl (1.3.4)
71
- rack
72
- rack-test (0.6.2)
73
- rack (>= 1.0)
74
- rails (3.2.20)
75
- actionmailer (= 3.2.20)
76
- actionpack (= 3.2.20)
77
- activerecord (= 3.2.20)
78
- activeresource (= 3.2.20)
79
- activesupport (= 3.2.20)
80
- bundler (~> 1.0)
81
- railties (= 3.2.20)
82
- railties (3.2.20)
83
- actionpack (= 3.2.20)
84
- activesupport (= 3.2.20)
85
- rack-ssl (~> 1.3.2)
86
- rake (>= 0.8.7)
87
- rdoc (~> 3.4)
88
- thor (>= 0.14.6, < 2.0)
89
- rake (10.3.2)
90
- rdoc (3.12.2)
91
- json (~> 1.4)
92
- rest-client (1.7.2)
93
- mime-types (>= 1.16, < 3.0)
94
- netrc (~> 0.7)
95
- rspec-collection_matchers (1.0.0)
96
- rspec-expectations (>= 2.99.0.beta1)
97
- rspec-core (2.99.2)
98
- rspec-expectations (2.99.2)
99
- diff-lcs (>= 1.1.3, < 2.0)
100
- rspec-mocks (2.99.2)
101
- rspec-rails (2.99.0)
102
- actionpack (>= 3.0)
103
- activemodel (>= 3.0)
104
- activesupport (>= 3.0)
105
- railties (>= 3.0)
106
- rspec-collection_matchers
107
- rspec-core (~> 2.99.0)
108
- rspec-expectations (~> 2.99.0)
109
- rspec-mocks (~> 2.99.0)
110
- safe_yaml (1.0.4)
111
- simplecov (0.9.1)
112
- docile (~> 1.1.0)
113
- multi_json (~> 1.0)
114
- simplecov-html (~> 0.8.0)
115
- simplecov-html (0.8.0)
116
- sprockets (2.2.3)
117
- hike (~> 1.2)
118
- multi_json (~> 1.0)
119
- rack (~> 1.0)
120
- tilt (~> 1.1, != 1.3.0)
121
- stripe (1.16.0)
122
- json (~> 1.8.1)
123
- mime-types (>= 1.25, < 3.0)
124
- rest-client (~> 1.4)
125
- term-ansicolor (1.3.0)
126
- tins (~> 1.0)
127
- thor (0.19.1)
128
- tilt (1.4.1)
129
- tins (1.3.3)
130
- treetop (1.4.15)
131
- polyglot
132
- polyglot (>= 0.3.1)
133
- tzinfo (0.3.42)
134
- webmock (1.20.0)
135
- addressable (>= 2.3.6)
136
- crack (>= 0.3.2)
137
-
138
- PLATFORMS
139
- ruby
140
-
141
- DEPENDENCIES
142
- appraisal
143
- coveralls
144
- rails (~> 3.2.0)
145
- rspec-rails (~> 2.12)
146
- stripe_event!
147
- webmock (~> 1.9)
@@ -1,7 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 4.0.0"
6
-
7
- gemspec :path => "../"
@@ -1,136 +0,0 @@
1
- PATH
2
- remote: ../
3
- specs:
4
- stripe_event (1.4.0)
5
- activesupport (>= 3.1)
6
- stripe (~> 1.6)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionmailer (4.0.11)
12
- actionpack (= 4.0.11)
13
- mail (~> 2.5, >= 2.5.4)
14
- actionpack (4.0.11)
15
- activesupport (= 4.0.11)
16
- builder (~> 3.1.0)
17
- erubis (~> 2.7.0)
18
- rack (~> 1.5.2)
19
- rack-test (~> 0.6.2)
20
- activemodel (4.0.11)
21
- activesupport (= 4.0.11)
22
- builder (~> 3.1.0)
23
- activerecord (4.0.11)
24
- activemodel (= 4.0.11)
25
- activerecord-deprecated_finders (~> 1.0.2)
26
- activesupport (= 4.0.11)
27
- arel (~> 4.0.0)
28
- activerecord-deprecated_finders (1.0.3)
29
- activesupport (4.0.11)
30
- i18n (~> 0.6, >= 0.6.9)
31
- minitest (~> 4.2)
32
- multi_json (~> 1.3)
33
- thread_safe (~> 0.1)
34
- tzinfo (~> 0.3.37)
35
- addressable (2.3.6)
36
- appraisal (1.0.2)
37
- bundler
38
- rake
39
- thor (>= 0.14.0)
40
- arel (4.0.2)
41
- builder (3.1.4)
42
- coveralls (0.7.1)
43
- multi_json (~> 1.3)
44
- rest-client
45
- simplecov (>= 0.7)
46
- term-ansicolor
47
- thor
48
- crack (0.4.2)
49
- safe_yaml (~> 1.0.0)
50
- diff-lcs (1.2.5)
51
- docile (1.1.5)
52
- erubis (2.7.0)
53
- hike (1.2.3)
54
- i18n (0.6.11)
55
- json (1.8.1)
56
- mail (2.6.1)
57
- mime-types (>= 1.16, < 3)
58
- mime-types (2.4.3)
59
- minitest (4.7.5)
60
- multi_json (1.10.1)
61
- netrc (0.8.0)
62
- rack (1.5.2)
63
- rack-test (0.6.2)
64
- rack (>= 1.0)
65
- rails (4.0.11)
66
- actionmailer (= 4.0.11)
67
- actionpack (= 4.0.11)
68
- activerecord (= 4.0.11)
69
- activesupport (= 4.0.11)
70
- bundler (>= 1.3.0, < 2.0)
71
- railties (= 4.0.11)
72
- sprockets-rails (~> 2.0)
73
- railties (4.0.11)
74
- actionpack (= 4.0.11)
75
- activesupport (= 4.0.11)
76
- rake (>= 0.8.7)
77
- thor (>= 0.18.1, < 2.0)
78
- rake (10.3.2)
79
- rest-client (1.7.2)
80
- mime-types (>= 1.16, < 3.0)
81
- netrc (~> 0.7)
82
- rspec-collection_matchers (1.0.0)
83
- rspec-expectations (>= 2.99.0.beta1)
84
- rspec-core (2.99.2)
85
- rspec-expectations (2.99.2)
86
- diff-lcs (>= 1.1.3, < 2.0)
87
- rspec-mocks (2.99.2)
88
- rspec-rails (2.99.0)
89
- actionpack (>= 3.0)
90
- activemodel (>= 3.0)
91
- activesupport (>= 3.0)
92
- railties (>= 3.0)
93
- rspec-collection_matchers
94
- rspec-core (~> 2.99.0)
95
- rspec-expectations (~> 2.99.0)
96
- rspec-mocks (~> 2.99.0)
97
- safe_yaml (1.0.4)
98
- simplecov (0.9.1)
99
- docile (~> 1.1.0)
100
- multi_json (~> 1.0)
101
- simplecov-html (~> 0.8.0)
102
- simplecov-html (0.8.0)
103
- sprockets (2.12.3)
104
- hike (~> 1.2)
105
- multi_json (~> 1.0)
106
- rack (~> 1.0)
107
- tilt (~> 1.1, != 1.3.0)
108
- sprockets-rails (2.2.0)
109
- actionpack (>= 3.0)
110
- activesupport (>= 3.0)
111
- sprockets (>= 2.8, < 4.0)
112
- stripe (1.16.0)
113
- json (~> 1.8.1)
114
- mime-types (>= 1.25, < 3.0)
115
- rest-client (~> 1.4)
116
- term-ansicolor (1.3.0)
117
- tins (~> 1.0)
118
- thor (0.19.1)
119
- thread_safe (0.3.4)
120
- tilt (1.4.1)
121
- tins (1.3.3)
122
- tzinfo (0.3.42)
123
- webmock (1.20.0)
124
- addressable (>= 2.3.6)
125
- crack (>= 0.3.2)
126
-
127
- PLATFORMS
128
- ruby
129
-
130
- DEPENDENCIES
131
- appraisal
132
- coveralls
133
- rails (~> 4.0.0)
134
- rspec-rails (~> 2.12)
135
- stripe_event!
136
- webmock (~> 1.9)
@@ -1,141 +0,0 @@
1
- PATH
2
- remote: ../
3
- specs:
4
- stripe_event (1.4.0)
5
- activesupport (>= 3.1)
6
- stripe (~> 1.6)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionmailer (4.1.7)
12
- actionpack (= 4.1.7)
13
- actionview (= 4.1.7)
14
- mail (~> 2.5, >= 2.5.4)
15
- actionpack (4.1.7)
16
- actionview (= 4.1.7)
17
- activesupport (= 4.1.7)
18
- rack (~> 1.5.2)
19
- rack-test (~> 0.6.2)
20
- actionview (4.1.7)
21
- activesupport (= 4.1.7)
22
- builder (~> 3.1)
23
- erubis (~> 2.7.0)
24
- activemodel (4.1.7)
25
- activesupport (= 4.1.7)
26
- builder (~> 3.1)
27
- activerecord (4.1.7)
28
- activemodel (= 4.1.7)
29
- activesupport (= 4.1.7)
30
- arel (~> 5.0.0)
31
- activesupport (4.1.7)
32
- i18n (~> 0.6, >= 0.6.9)
33
- json (~> 1.7, >= 1.7.7)
34
- minitest (~> 5.1)
35
- thread_safe (~> 0.1)
36
- tzinfo (~> 1.1)
37
- addressable (2.3.6)
38
- appraisal (1.0.2)
39
- bundler
40
- rake
41
- thor (>= 0.14.0)
42
- arel (5.0.1.20140414130214)
43
- builder (3.2.2)
44
- coveralls (0.7.1)
45
- multi_json (~> 1.3)
46
- rest-client
47
- simplecov (>= 0.7)
48
- term-ansicolor
49
- thor
50
- crack (0.4.2)
51
- safe_yaml (~> 1.0.0)
52
- diff-lcs (1.2.5)
53
- docile (1.1.5)
54
- erubis (2.7.0)
55
- hike (1.2.3)
56
- i18n (0.6.11)
57
- json (1.8.1)
58
- mail (2.6.1)
59
- mime-types (>= 1.16, < 3)
60
- mime-types (2.4.3)
61
- minitest (5.4.2)
62
- multi_json (1.10.1)
63
- netrc (0.8.0)
64
- rack (1.5.2)
65
- rack-test (0.6.2)
66
- rack (>= 1.0)
67
- rails (4.1.7)
68
- actionmailer (= 4.1.7)
69
- actionpack (= 4.1.7)
70
- actionview (= 4.1.7)
71
- activemodel (= 4.1.7)
72
- activerecord (= 4.1.7)
73
- activesupport (= 4.1.7)
74
- bundler (>= 1.3.0, < 2.0)
75
- railties (= 4.1.7)
76
- sprockets-rails (~> 2.0)
77
- railties (4.1.7)
78
- actionpack (= 4.1.7)
79
- activesupport (= 4.1.7)
80
- rake (>= 0.8.7)
81
- thor (>= 0.18.1, < 2.0)
82
- rake (10.3.2)
83
- rest-client (1.7.2)
84
- mime-types (>= 1.16, < 3.0)
85
- netrc (~> 0.7)
86
- rspec-collection_matchers (1.0.0)
87
- rspec-expectations (>= 2.99.0.beta1)
88
- rspec-core (2.99.2)
89
- rspec-expectations (2.99.2)
90
- diff-lcs (>= 1.1.3, < 2.0)
91
- rspec-mocks (2.99.2)
92
- rspec-rails (2.99.0)
93
- actionpack (>= 3.0)
94
- activemodel (>= 3.0)
95
- activesupport (>= 3.0)
96
- railties (>= 3.0)
97
- rspec-collection_matchers
98
- rspec-core (~> 2.99.0)
99
- rspec-expectations (~> 2.99.0)
100
- rspec-mocks (~> 2.99.0)
101
- safe_yaml (1.0.4)
102
- simplecov (0.9.1)
103
- docile (~> 1.1.0)
104
- multi_json (~> 1.0)
105
- simplecov-html (~> 0.8.0)
106
- simplecov-html (0.8.0)
107
- sprockets (2.12.3)
108
- hike (~> 1.2)
109
- multi_json (~> 1.0)
110
- rack (~> 1.0)
111
- tilt (~> 1.1, != 1.3.0)
112
- sprockets-rails (2.2.0)
113
- actionpack (>= 3.0)
114
- activesupport (>= 3.0)
115
- sprockets (>= 2.8, < 4.0)
116
- stripe (1.16.0)
117
- json (~> 1.8.1)
118
- mime-types (>= 1.25, < 3.0)
119
- rest-client (~> 1.4)
120
- term-ansicolor (1.3.0)
121
- tins (~> 1.0)
122
- thor (0.19.1)
123
- thread_safe (0.3.4)
124
- tilt (1.4.1)
125
- tins (1.3.3)
126
- tzinfo (1.2.2)
127
- thread_safe (~> 0.1)
128
- webmock (1.20.0)
129
- addressable (>= 2.3.6)
130
- crack (>= 0.3.2)
131
-
132
- PLATFORMS
133
- ruby
134
-
135
- DEPENDENCIES
136
- appraisal
137
- coveralls
138
- rails (~> 4.1.0)
139
- rspec-rails (~> 2.12)
140
- stripe_event!
141
- webmock (~> 1.9)