stripe-rails 0.4.1 → 1.0.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
  SHA1:
3
- metadata.gz: 59dc2e031f840dbcee3119e14a5c0af7ce36a85c
4
- data.tar.gz: 0b048c56ccd862ee5f6aa9e91aa0e7703b6cfa9a
3
+ metadata.gz: b07e6ff640777c2280d2dd29d46ddb72f8412ffb
4
+ data.tar.gz: 952adfc0b8538e40e53b0eaf59b1c6620c7c418e
5
5
  SHA512:
6
- metadata.gz: f27352e6b309472bd9fd77affd9844eacb88cd930bfdbe0091955739f7f2999055d83624b8150920dbb396c750acc1adda57479412e7b149201b8c876d063ebd
7
- data.tar.gz: 735d51b53f24cea0dbbf1cc04432ea326d8bf2071a45ec1ce81547d6687d3f44b98e08cfcc3bd749b9eea50a3593ab70c63e3e9b9dbbf27f363021bdf33ec011
6
+ metadata.gz: caeda4e7f70ed9b564abaf7f065dd25591aaedf8cf57f7b95a71274b5a10bd269c6a55ab60ebe0487de8ed6941b7dd5f154981f4e7d4b7b87b4ba8f4c42112c5
7
+ data.tar.gz: c2f965d400379c69d80c02055f30d288630793142aa02736fad46ba4cf33dd201b6f546248301e6d6bd43b361aff613ddae81b1b7a22e13b6b321783813ff30b
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  *.gem
2
+ gemfiles/*.lock
2
3
  *.rbc
3
4
  .bundle
4
5
  .config
data/.travis.yml CHANGED
@@ -1,8 +1,36 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.3.3
3
+ - 2.4.1
4
+ - 2.3.4
5
+ - 2.2.7
6
+ - 2.1.9
4
7
  notifications:
5
8
  email:
6
9
  recipients:
7
10
  - cowboyd@thefrontside.net
8
-
11
+ env:
12
+ global:
13
+ - GIT_COMMITTED_AT=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then git log -1 --pretty=format:%ct; else git log -1 --skip 1 --pretty=format:%ct; fi)
14
+ before_script:
15
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
16
+ - chmod +x ./cc-test-reporter
17
+ - ./cc-test-reporter before-build
18
+ script:
19
+ - bundle exec rake
20
+ # Preferably you will run test-reporter on branch update events. But
21
+ # if you setup travis to build PR updates only, you don't need to run
22
+ # the line below
23
+ - if [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ `basename $BUNDLE_GEMFILE` == "Gemfile" ] && [ ${RUBY_VERSION:5:3} == "2.4" ] ; then echo "Sending Coverage..."; ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT; fi
24
+ # In the case where travis is setup to build PR updates only,
25
+ # uncomment the line below
26
+ # - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
27
+ gemfile:
28
+ - Gemfile
29
+ - gemfiles/rails4.gemfile
30
+ - gemfiles/rails5.gemfile
31
+ matrix:
32
+ exclude:
33
+ - rvm: 2.1.9
34
+ gemfile: Gemfile
35
+ - rvm: 2.1.9
36
+ gemfile: gemfiles/rails5.gemfile
data/Changelog.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 1.0.0 (2017-07-24 - Breaky McBreakface)
2
+
3
+ * [BREAKING] Update to latest stripe events (thanks @hopsoft). Note that if you are using the `after_customer_card_created`, `after_customer_card_updated` or `after_customer_card_deleted` callbacks, you MUST update them to `after_customer_source_created`, `after_customer_source_updated` or `after_customer_source_deleted` respectively. You also need to start using [Stripe API Version > 2015-02-18](https://stripe.com/docs/upgrades#2015-02-18) or else the webhook might not work as expected.
4
+ * [BREAKING] Updates to the [latest version of Stripe JS](https://github.com/Everapps/stripe-rails/pull/69). If you were using `stripe_javascript_tag` without specifying the version number, note that it will now default to Stripe JS v3. This version is incompatible with the previous default.
5
+ * The gem will only be tested on Rails 4 and 5 [from now on](https://github.com/Everapps/stripe-rails/pull/62).
6
+ * Gem will henceforth only [be tested](https://github.com/Everapps/stripe-rails/pull/68) on Ruby >= 2.1.9.
7
+ * add statement descriptor to plan attributes (thanks @jbender)
8
+ * Relax version constraint on the responders gem
9
+
1
10
  ## 0.4.1 (2017-06-01)
2
11
 
3
12
  * Support for api_version header parameter (thanks @kiddrew)
data/Gemfile CHANGED
@@ -9,3 +9,7 @@ gem 'tzinfo'
9
9
  gem 'mocha'
10
10
  gem 'pry'
11
11
  gem 'responders', '~> 2.0' # to support Rails 4.2
12
+
13
+ group :test do
14
+ gem 'simplecov', require: false
15
+ end
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Stripe::Rails: A Rails Engine for use with [stripe.com](https://stripe.com)
2
2
  [![Gem Version](https://badge.fury.io/rb/stripe-rails.png)](http://badge.fury.io/rb/stripe-rails)
3
3
  [![Build Status](https://travis-ci.org/Everapps/stripe-rails.png?branch=master)](https://travis-ci.org/Everapps/stripe-rails)
4
+ [![Code Climate](https://codeclimate.com/github/Everapps/stripe-rails/badges/gpa.svg)](https://codeclimate.com/github/Everapps/stripe-rails)
4
5
  [![Dependency Status](https://gemnasium.com/thefrontside/stripe-rails.png)](https://gemnasium.com/thefrontside/stripe-rails)
5
6
 
6
7
 
@@ -44,11 +45,11 @@ config.stripe.debug_js = true # use stripe-debug.js
44
45
  config.stripe.debug_js = false # use stripe.js
45
46
  ```
46
47
 
47
- By default the helper renders the `v1` version of `stripe.js`. You can provide an
48
+ By default the helper renders the `v3` version of `stripe.js`. You can provide an
48
49
  alternate version to the helper to generate the appropriate tag:
49
50
 
50
51
  ```erb
51
- <%= stripe_javascript_tag(:v3) %>
52
+ <%= stripe_javascript_tag(:v2) %>
52
53
  ```
53
54
 
54
55
  ### Setup your API keys.
@@ -190,7 +191,7 @@ parameter. E.g.
190
191
  config.stripe.endpoint = '/payment/stripe-integration'
191
192
  ```
192
193
 
193
- Your new webook URL would then be `http://myproductionapp/payment/stripe-integration/events`
194
+ Your new webhook URL would then be `http://myproductionapp/payment/stripe-integration/events`
194
195
 
195
196
  ### Disabling auto mount
196
197
 
@@ -333,7 +334,7 @@ its parameter:
333
334
  module StagingOnly
334
335
  include Stripe::Callbacks
335
336
 
336
- after_charge_created! :only => proc {|charge, evt| unless evt.livemode} do |charge|
337
+ after_charge_succeeded! :only => proc {|charge, evt| unless evt.livemode} do |charge|
337
338
  puts "FAKE DATA, PLEASE IGNORE!"
338
339
  end
339
340
  end
@@ -1,6 +1,6 @@
1
1
  module Stripe
2
2
  module JavascriptHelper
3
- def stripe_javascript_tag(stripe_js_version = 'v1')
3
+ def stripe_javascript_tag(stripe_js_version = 'v3')
4
4
  stripe_js_version = stripe_js_version.to_s.downcase
5
5
 
6
6
  render 'stripe/js', stripe_js_version: stripe_js_version
@@ -0,0 +1,15 @@
1
+ source :rubygems
2
+
3
+ gem 'rails', '~> 4'
4
+
5
+ gem "bundler", ">= 1.3.0"
6
+ gem "rake"
7
+ gem 'tzinfo'
8
+ gem 'mocha'
9
+ gem 'pry'
10
+ gem 'responders', '~> 2.0' # to support Rails 4.2
11
+ gem 'stripe'
12
+
13
+ group :test do
14
+ gem 'simplecov', require: false
15
+ end
@@ -0,0 +1,15 @@
1
+ source :rubygems
2
+
3
+ gem 'rails', '~> 5'
4
+
5
+ gem "bundler", ">= 1.3.0"
6
+ gem "rake"
7
+ gem 'tzinfo'
8
+ gem 'mocha'
9
+ gem 'pry'
10
+ gem 'responders', '~> 2.0' # to support Rails 4.2
11
+ gem 'stripe'
12
+
13
+ group :test do
14
+ gem 'simplecov', require: false
15
+ end
@@ -6,44 +6,76 @@ module Stripe
6
6
 
7
7
  callback 'account.updated'
8
8
  callback 'account.application.deauthorized'
9
+ callback 'account.external_account.created'
10
+ callback 'account.external_account.deleted'
11
+ callback 'account.external_account.updated'
12
+ callback 'application_fee.created'
13
+ callback 'application_fee.refunded'
14
+ callback 'application_fee.refund.updated'
9
15
  callback 'balance.available'
10
- callback 'charge.succeeded'
16
+ callback 'bitcoin.receiver.created'
17
+ callback 'bitcoin.receiver.filled'
18
+ callback 'bitcoin.receiver.updated'
19
+ callback 'bitcoin.receiver.transaction.created'
20
+ callback 'charge.captured'
11
21
  callback 'charge.failed'
22
+ callback 'charge.pending'
12
23
  callback 'charge.refunded'
13
- callback 'charge.captured'
24
+ callback 'charge.succeeded'
25
+ callback 'charge.updated'
26
+ callback 'charge.dispute.closed'
14
27
  callback 'charge.dispute.created'
28
+ callback 'charge.dispute.funds_reinstated'
29
+ callback 'charge.dispute.funds_withdrawn'
15
30
  callback 'charge.dispute.updated'
16
- callback 'charge.dispute.closed'
31
+ callback 'coupon.created'
32
+ callback 'coupon.deleted'
33
+ callback 'coupon.updated'
17
34
  callback 'customer.created'
18
- callback 'customer.updated'
19
35
  callback 'customer.deleted'
20
- callback 'customer.card.created'
21
- callback 'customer.card.updated'
22
- callback 'customer.card.deleted'
36
+ callback 'customer.updated'
37
+ callback 'customer.discount.created'
38
+ callback 'customer.discount.deleted'
39
+ callback 'customer.discount.updated'
40
+ callback 'customer.source.created'
41
+ callback 'customer.source.deleted'
42
+ callback 'customer.source.updated'
23
43
  callback 'customer.subscription.created'
24
- callback 'customer.subscription.updated'
25
44
  callback 'customer.subscription.deleted'
26
45
  callback 'customer.subscription.trial_will_end'
27
- callback 'customer.discount.created'
28
- callback 'customer.discount.updated'
29
- callback 'customer.discount.deleted'
46
+ callback 'customer.subscription.updated'
30
47
  callback 'invoice.created'
31
- callback 'invoice.updated'
32
- callback 'invoice.payment_succeeded'
33
48
  callback 'invoice.payment_failed'
49
+ callback 'invoice.payment_succeeded'
50
+ callback 'invoice.updated'
34
51
  callback 'invoiceitem.created'
35
- callback 'invoiceitem.updated'
36
52
  callback 'invoiceitem.deleted'
53
+ callback 'invoiceitem.updated'
54
+ callback 'order.created'
55
+ callback 'order.payment_failed'
56
+ callback 'order.payment_succeeded'
57
+ callback 'order.updated'
58
+ callback 'order_return.created'
37
59
  callback 'plan.created'
38
- callback 'plan.updated'
39
60
  callback 'plan.deleted'
40
- callback 'coupon.created'
41
- callback 'coupon.updated'
42
- callback 'coupon.deleted'
61
+ callback 'plan.updated'
62
+ callback 'product.created'
63
+ callback 'product.deleted'
64
+ callback 'product.updated'
65
+ callback 'recipient.created'
66
+ callback 'recipient.deleted'
67
+ callback 'recipient.updated'
68
+ callback 'sku.created'
69
+ callback 'sku.deleted'
70
+ callback 'sku.updated'
71
+ callback 'source.canceled'
72
+ callback 'source.chargeable'
73
+ callback 'source.failed'
43
74
  callback 'transfer.created'
44
- callback 'transfer.updated'
45
- callback 'transfer.paid'
46
75
  callback 'transfer.failed'
76
+ callback 'transfer.paid'
77
+ callback 'transfer.reversed'
78
+ callback 'transfer.updated'
47
79
  callback 'ping'
48
80
  callback 'stripe.event'
49
81
 
data/lib/stripe/plans.rb CHANGED
@@ -3,10 +3,15 @@ module Stripe
3
3
  include ConfigurationBuilder
4
4
 
5
5
  configuration_for :plan do
6
- attr_accessor :name, :amount, :interval, :interval_count, :trial_period_days, :currency, :metadata
6
+ attr_accessor :name, :amount, :interval, :interval_count, :trial_period_days,
7
+ :currency, :metadata, :statement_descriptor
7
8
 
8
- validates_presence_of :id, :name, :amount
9
- validates_inclusion_of :interval, :in => %w(week month year), :message => "'%{value}' is not one of 'week', 'month' or 'year'"
9
+ validates_presence_of :id, :amount, :currency, :name
10
+
11
+ validates_inclusion_of :interval, :in => %w(week month year),
12
+ :message => "'%{value}' is not one of 'week', 'month' or 'year'"
13
+
14
+ validates :statement_descriptor, :length => { :maximum => 22 }
10
15
 
11
16
  def initialize(*args)
12
17
  super(*args)
@@ -23,7 +28,8 @@ module Stripe
23
28
  :interval => @interval,
24
29
  :interval_count => @interval_count,
25
30
  :trial_period_days => @trial_period_days,
26
- :metadata => @metadata
31
+ :metadata => @metadata,
32
+ :statement_descriptor => @statement_descriptor
27
33
  }
28
34
  end
29
35
  end
@@ -1,5 +1,5 @@
1
1
  module Stripe
2
2
  module Rails
3
- VERSION = '0.4.1'
3
+ VERSION = '1.0.0'
4
4
  end
5
5
  end
data/stripe-rails.gemspec CHANGED
@@ -17,5 +17,5 @@ Gem::Specification.new do |gem|
17
17
  gem.version = Stripe::Rails::VERSION
18
18
  gem.add_dependency 'rails', '>= 3'
19
19
  gem.add_dependency 'stripe'
20
- gem.add_dependency 'responders', '~> 2.0'
20
+ gem.add_dependency 'responders'
21
21
  end
@@ -16,9 +16,13 @@ describe Stripe::Callbacks do
16
16
  include Stripe::Callbacks
17
17
  end
18
18
  end
19
- @content = JSON.parse(File.read File.expand_path('../invoice_payment_succeeded.json', __FILE__))
20
- self.type = @content['type']
21
19
 
20
+ event = JSON.parse(File.read File.expand_path('../event.json', __FILE__))
21
+ invoice = JSON.parse(File.read File.expand_path('../invoice.json', __FILE__))
22
+ event['data']['object'] = invoice
23
+
24
+ @content = event
25
+ self.type = @content['type']
22
26
  end
23
27
 
24
28
  def type=(type)
data/test/event.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "api_version": "2017-02-14",
3
+ "created": 1234567890,
4
+ "customer_email": "",
5
+ "data": {
6
+ "object": {
7
+ }
8
+ },
9
+ "id": "evt_19tLKfDSlTMT26MkKD3pohqX",
10
+ "livemode": false,
11
+ "object": "event",
12
+ "pending_webhooks": 0,
13
+ "recipient_best_description": "",
14
+ "request": {
15
+ "id": "req_ArJ9y3DcEShbw2",
16
+ "idempotency_key": null
17
+ },
18
+ "type": "invoice.payment_succeeded"
19
+ }
data/test/invoice.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "amount_due": 0,
3
+ "application_fee": 0,
4
+ "attempt_count": 0,
5
+ "attempted": true,
6
+ "billing": "",
7
+ "charge": "",
8
+ "closed": true,
9
+ "currency": "usd",
10
+ "customer": "cus_ADmuABetLS15eF",
11
+ "date": 1234567890,
12
+ "description": "",
13
+ "discount": {
14
+ },
15
+ "due_date": 1234567890,
16
+ "ending_balance": 0,
17
+ "forgiven": false,
18
+ "id": "in_19zuuiDSlTMT26Mk1XitxqCb",
19
+ "lines": {
20
+ "data": [
21
+ {
22
+ "amount": 2000,
23
+ "currency": "usd",
24
+ "description": null,
25
+ "discountable": true,
26
+ "id": "sub_AKa4uss8vCMAZC",
27
+ "livemode": true,
28
+ "metadata": {
29
+ },
30
+ "object": "line_item",
31
+ "period": {
32
+ "end": 1495403592,
33
+ "start": 1492811592
34
+ },
35
+ "plan": {
36
+ "amount": 2000,
37
+ "created": 1488566449,
38
+ "currency": "usd",
39
+ "id": "gold",
40
+ "interval": "month",
41
+ "interval_count": 1,
42
+ "livemode": false,
43
+ "metadata": {
44
+ },
45
+ "name": "Gold Special",
46
+ "object": "plan",
47
+ "statement_descriptor": null,
48
+ "trial_period_days": null
49
+ },
50
+ "proration": false,
51
+ "quantity": 1,
52
+ "subscription": null,
53
+ "subscription_item": "si_19zuuiDSlTMT26Mk9HayBPe9",
54
+ "type": "subscription"
55
+ }
56
+ ],
57
+ "object": "list",
58
+ "total_count": 1,
59
+ "url": "/v1/invoices/in_19zuuiDSlTMT26Mk1XitxqCb/lines"
60
+ },
61
+ "livemode": false,
62
+ "metadata": {
63
+ },
64
+ "next_payment_attempt": 1234567890,
65
+ "number": "",
66
+ "object": "invoice",
67
+ "paid": true,
68
+ "period_end": 1234567890,
69
+ "period_start": 1234567890,
70
+ "receipt_number": "",
71
+ "send_next_at": 1234567890,
72
+ "starting_balance": 0,
73
+ "statement_descriptor": "",
74
+ "subscription": "",
75
+ "subscription_proration_date": 0,
76
+ "subtotal": 0,
77
+ "tax": 0,
78
+ "tax_percent": 0.0,
79
+ "total": 6999,
80
+ "webhooks_delivered_at": 1234567890
81
+ }
@@ -2,36 +2,32 @@ require 'minitest/autorun'
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Stripe::JavascriptHelper do
5
- before do
6
- Rails.application.config.stripe.publishable_key = 'pub_xxxx'
7
-
8
- @controller = ActionView::TestCase::TestController.new
9
- @view = @controller.view_context
10
- @view.singleton_class.include(Stripe::JavascriptHelper)
11
- end
5
+ before { Rails.application.config.stripe.publishable_key = 'pub_xxxx' }
6
+ let(:controller) { ActionView::TestCase::TestController.new }
7
+ let(:view) { controller.view_context }
12
8
 
13
9
  describe '#stripe_javascript_tag' do
14
10
  describe 'when no options are passed' do
15
- it 'should default to v1' do
16
- @view.stripe_javascript_tag.must_include 'https://js.stripe.com/v1/'
11
+ it 'should default to v3' do
12
+ view.stripe_javascript_tag.must_include 'https://js.stripe.com/v3/'
17
13
  end
18
14
  end
19
15
 
20
- describe 'when the v3 option is passed' do
21
- it 'should default to v3' do
22
- @view.stripe_javascript_tag(:v3).must_include 'https://js.stripe.com/v3/'
16
+ describe 'when the v2 option is passed' do
17
+ it 'should default to v2' do
18
+ view.stripe_javascript_tag(:v2).must_include 'https://js.stripe.com/v2/'
23
19
  end
24
20
  end
25
21
 
26
22
  describe 'when the debug flag is enabled' do
27
23
  before { Rails.application.config.stripe.debug_js = true }
28
24
  it 'should render the debug js' do
29
- @view.stripe_javascript_tag.must_include 'https://js.stripe.com/v1/stripe-debug.js'
25
+ view.stripe_javascript_tag(:v1).must_include 'https://js.stripe.com/v1/stripe-debug.js'
30
26
  end
31
27
 
32
28
  describe 'when v3 is selected' do
33
29
  it 'should not render debug js' do
34
- @view.stripe_javascript_tag(:v3).wont_include 'https://js.stripe.com/v1/stripe-debug.js'
30
+ view.stripe_javascript_tag(:v3).wont_include 'https://js.stripe.com/v1/stripe-debug.js'
35
31
  end
36
32
  end
37
33
  end
@@ -11,8 +11,10 @@ describe 'building plans' do
11
11
  plan.interval_count = 3
12
12
  plan.trial_period_days = 30
13
13
  plan.metadata = {:number_of_awesome_things => 5}
14
+ plan.statement_descriptor = 'Acme Primo'
14
15
  end
15
16
  end
17
+
16
18
  after do
17
19
  Stripe::Plans.send(:remove_const, :PRIMO)
18
20
  end
@@ -70,6 +72,28 @@ describe 'building plans' do
70
72
  }.must_raise Stripe::InvalidConfigurationError
71
73
  end
72
74
 
75
+ it 'accepts a statement descriptor' do
76
+ Stripe.plan :described do |plan|
77
+ plan.name = 'Acme as a service'
78
+ plan.amount = 999
79
+ plan.interval = 'month'
80
+ plan.statement_descriptor = 'ACME Monthly'
81
+ end
82
+
83
+ Stripe::Plans::DESCRIBED.wont_be_nil
84
+ end
85
+
86
+ it 'denies statement descriptors that are too long' do
87
+ lambda {
88
+ Stripe.plan :described do |plan|
89
+ plan.name = 'Acme as a service'
90
+ plan.amount = 999
91
+ plan.interval = 'month'
92
+ plan.statement_descriptor = 'ACME as a Service Monthly'
93
+ end
94
+ }.must_raise Stripe::InvalidConfigurationError
95
+ end
96
+
73
97
  describe 'uploading' do
74
98
  describe 'when none exists on stripe.com' do
75
99
  before do
@@ -85,7 +109,8 @@ describe 'building plans' do
85
109
  :interval => 'month',
86
110
  :interval_count => 1,
87
111
  :trial_period_days => 0,
88
- :metadata => nil
112
+ :metadata => nil,
113
+ :statement_descriptor => nil
89
114
  )
90
115
  Stripe::Plans::GOLD.put!
91
116
  end
@@ -99,12 +124,14 @@ describe 'building plans' do
99
124
  :interval => 'month',
100
125
  :interval_count => 1,
101
126
  :trial_period_days => 0,
102
- :metadata => nil
127
+ :metadata => nil,
128
+ :statement_descriptor => nil
103
129
  )
104
130
  Stripe::Plans::ALTERNATIVE_CURRENCY.put!
105
131
  end
106
132
 
107
133
  end
134
+
108
135
  describe 'when it is already present on stripe.com' do
109
136
  before do
110
137
  Stripe::Plan.stubs(:retrieve).returns(Stripe::Plan.construct_from({
@@ -112,6 +139,7 @@ describe 'building plans' do
112
139
  :name => 'Solid Gold'
113
140
  }))
114
141
  end
142
+
115
143
  it 'is a no-op' do
116
144
  Stripe::Plan.expects(:create).never
117
145
  Stripe::Plans::GOLD.put!
data/test/spec_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require "simplecov"
2
+ SimpleCov.start
3
+
1
4
  # Configure Rails Environment
2
5
  ENV["RAILS_ENV"] = "test"
3
6
  ENV['STRIPE_SECRET_KEY'] = 'XYZ'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Lowell
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-06-01 00:00:00.000000000 Z
12
+ date: 2017-07-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -43,16 +43,16 @@ dependencies:
43
43
  name: responders
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '2.0'
48
+ version: '0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '2.0'
55
+ version: '0'
56
56
  description: A gem to integrate stripe into your rails app
57
57
  email:
58
58
  - cowboyd@frontside.io
@@ -76,6 +76,8 @@ files:
76
76
  - app/models/stripe/ping.rb
77
77
  - app/views/stripe/_js.html.erb
78
78
  - config/routes.rb
79
+ - gemfiles/rails4.gemfile
80
+ - gemfiles/rails5.gemfile
79
81
  - lib/generators/stripe/install_generator.rb
80
82
  - lib/generators/templates/coupons.rb
81
83
  - lib/generators/templates/plans.rb
@@ -128,7 +130,8 @@ files:
128
130
  - test/dummy/public/500.html
129
131
  - test/dummy/public/favicon.ico
130
132
  - test/dummy/script/rails
131
- - test/invoice_payment_succeeded.json
133
+ - test/event.json
134
+ - test/invoice.json
132
135
  - test/javascript_helper_spec.rb
133
136
  - test/plan_builder_spec.rb
134
137
  - test/spec_helper.rb
@@ -153,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
156
  version: '0'
154
157
  requirements: []
155
158
  rubyforge_project:
156
- rubygems_version: 2.5.2
159
+ rubygems_version: 2.6.8
157
160
  signing_key:
158
161
  specification_version: 4
159
162
  summary: A gem to integrate stripe into your rails app
@@ -196,7 +199,8 @@ test_files:
196
199
  - test/dummy/public/500.html
197
200
  - test/dummy/public/favicon.ico
198
201
  - test/dummy/script/rails
199
- - test/invoice_payment_succeeded.json
202
+ - test/event.json
203
+ - test/invoice.json
200
204
  - test/javascript_helper_spec.rb
201
205
  - test/plan_builder_spec.rb
202
206
  - test/spec_helper.rb
@@ -1,65 +0,0 @@
1
- {
2
- "type": "invoice.payment_succeeded",
3
- "livemode": false,
4
- "pending_webhooks": 0,
5
- "created": 1352910508,
6
- "object": "event",
7
- "id": "evt_0jcGFxHNsrDTj4",
8
- "data": {
9
- "object": {
10
- "starting_balance": 0,
11
- "ending_balance": 0,
12
- "paid": true,
13
- "attempted": true,
14
- "total": 6999,
15
- "lines": {
16
- "object": "list",
17
- "count": 1,
18
- "data": [
19
- {
20
- "type": "subscription",
21
- "plan": {
22
- "livemode": false,
23
- "object": "plan",
24
- "interval_count": 1,
25
- "amount": 6999,
26
- "name": "BandFrame PRO Annual",
27
- "currency": "usd",
28
- "id": "yearly",
29
- "interval": "year",
30
- "trial_period_days": null
31
- },
32
- "livemode": false,
33
- "object": "line_item",
34
- "description": null,
35
- "amount": 6999,
36
- "currency": "usd",
37
- "period": {
38
- "end": 1384446507,
39
- "start": 1352910507
40
- },
41
- "id": "su_0jcGpDYAkeNj0a",
42
- "proration": false,
43
- "quantity": 1
44
- }
45
- ],
46
- "url": "/v1/invoices/in_0jcG7zz2RtscPB/lines"
47
- },
48
- "subtotal": 6999,
49
- "livemode": false,
50
- "period_start": 1352910503,
51
- "charge": "ch_0jcGRmThyuRYyh",
52
- "object": "invoice",
53
- "customer": "cus_0jcFnB3UIIiicv",
54
- "period_end": 1352910507,
55
- "discount": null,
56
- "next_payment_attempt": null,
57
- "currency": "usd",
58
- "date": 1352910507,
59
- "closed": true,
60
- "id": "in_0jcG7zz2RtscPB",
61
- "attempt_count": 0,
62
- "amount_due": 6999
63
- }
64
- }
65
- }