chargify_api_ares 1.4.7 → 1.4.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f7e47575d367b8c0377d6f1f5da19d324c02ce76
4
- data.tar.gz: 9ddf394c753415570aa8a2c0776567d27e19ed96
2
+ SHA256:
3
+ metadata.gz: 9df580c55a36eb2d98f33aef4030cddca3758e96e8a08fce6922c4a8a9ab4bf9
4
+ data.tar.gz: 2b97d5712cd2b0b1a9e9c9776bc930dbd5f1f5523d90cfcb4f842dbc530d5981
5
5
  SHA512:
6
- metadata.gz: e21b0c7b31eac7419cd02b639597f262d3585702409c40f00898b9d58e1a2c648caf0350382db823a36274d0ef052f310431c578eeaa12ae8bb82f7d9e53845b
7
- data.tar.gz: cb0de9aaa530e838137f8ac84cc99beb87377e166cdced39a42b3256d8f0dd8cc3114270b3730635bc84f6c411e493f3c8a325f8e1c9411006285da15ef00de4
6
+ metadata.gz: ab6fb12e2711d83bc41a301ffeeb58f6e6c041f12659fd5ce4758442b8708dfe5e7d6a7586ec4dea6be4e7fd17f760aa83c03677e0a66c2fec6d2aaeb77d2919
7
+ data.tar.gz: 7e6f9bfc00e560a5330975be5d7959e4f503fe7c9787a3e2969f4edb8a44c4650cba46016834fff7d9e3b173819860a711026f51e0e4d759e12f51a891a2c9d1
data/.travis.yml CHANGED
@@ -2,6 +2,7 @@ language: ruby
2
2
  before_install:
3
3
  - gem update --system
4
4
  - gem update bundler
5
+ - bundle install --no-deployment
5
6
  rvm:
6
7
  - 2.1.3
7
8
  - 2.0.0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- chargify_api_ares (1.4.6)
4
+ chargify_api_ares (1.4.15)
5
5
  activeresource (>= 3.2.16)
6
6
 
7
7
  GEM
@@ -67,4 +67,4 @@ DEPENDENCIES
67
67
  vcr
68
68
 
69
69
  BUNDLED WITH
70
- 1.12.5
70
+ 1.16.1
data/HISTORY.md CHANGED
@@ -1,3 +1,25 @@
1
+ ## 1.4.15 / June 20, 2018
2
+
3
+ * Changes Subscription#remove_coupon to use coupon_code instead of code [PR 165](https://github.com/chargify/chargify_api_ares/pull/165).
4
+ With this change, the currently applied coupon code must be passed for removal to occur.
5
+
6
+ ## 1.4.14 / December 7, 2017
7
+
8
+ * Allows canceling a subscription with all supported attributes [PR 161](https://github.com/chargify/chargify_api_ares/pull/161)
9
+
10
+ ## 1.4.13 / July 21, 2017
11
+
12
+ * Note: No changes from 1.4.12, previous release was not officially published
13
+ * Adds ability to get ReasonCodes [PR 154](https://github.com/chargify/chargify_api_ares/pull/154)
14
+
15
+ ## 1.4.12 / July 18, 2017
16
+
17
+ * Adds ability to get ReasonCodes [PR 154](https://github.com/chargify/chargify_api_ares/pull/154)
18
+
19
+ ## 1.4.11 / May 12, 2017
20
+
21
+ * Add Subscription Retry [PR 155](https://github.com/chargify/chargify_api_ares/pull/155) and [PR 145](https://github.com/chargify/chargify_api_ares/pull/145) by @gotchahn
22
+
1
23
  ## 1.4.7 / August 22 2016
2
24
 
3
25
  * Adding Invoice Payment creation [PR 138] (https://github.com/chargify/chargify_api_ares/pull/138) by @carsonreinke
data/README.md CHANGED
@@ -2,12 +2,16 @@ Chargify API wrapper for Ruby (using ActiveResource)
2
2
  ====================================================
3
3
  [![build status](https://secure.travis-ci.org/chargify/chargify_api_ares.png)](http://travis-ci.org/chargify/chargify_api_ares) [![Code Climate](https://codeclimate.com/github/chargify/chargify_api_ares/badges/gpa.svg)](https://codeclimate.com/github/chargify/chargify_api_ares)
4
4
 
5
+ This is a community-maintained Ruby wrapper for the [Chargify](https://www.chargify.com) API that leverages ActiveResource.
6
+
7
+ Though we do not proactively maintain it, Chargify is happy to review pull requests and manage the release process for the gem. We encourage community contributions to make the wrapper even more comprehensive and powerful.
8
+
9
+ If you notice an endpoint or method that is missing, please feel free to add it by submitting a pull request. We appreciate your support!
10
+
5
11
  **Note:** we have bumped to v1.0.0 to indicate a backwards incompatible change to the responses from `Chargify::Subscription.charge` and `Chargify::Subscription.migrate`. Please see the HISTORY.md for more information.
6
12
 
7
13
  **Please see important compatibility information at the bottom of this file.**
8
14
 
9
- This is a Ruby wrapper for the [Chargify](http://chargify.com) API that leverages ActiveResource.
10
-
11
15
  ### Installation
12
16
 
13
17
  This library can be installed as a gem. It is hosted on [Rubygems](http://rubygems.org).
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.7'
5
5
 
6
6
  s.name = 'chargify_api_ares'
7
- s.version = '1.4.7'
8
- s.date = '2016-08-22'
7
+ s.version = '1.4.15'
8
+ s.date = '2018-06-20'
9
9
  s.summary = 'A Chargify API wrapper for Ruby using ActiveResource'
10
10
  s.description = ''
11
11
  s.authors = ["Chargify Development Team"]
@@ -0,0 +1,15 @@
1
+ $: << File.expand_path(File.dirname(__FILE__) + '/../lib')
2
+
3
+ require 'chargify_api_ares'
4
+
5
+ # You could load your credentials from a file...
6
+ chargify_config = YAML::load_file(File.join(File.dirname(__FILE__), '..', 'chargify.yml'))
7
+
8
+ Chargify.configure do |c|
9
+ c.subdomain = chargify_config['subdomain']
10
+ c.api_key = chargify_config['api_key']
11
+ end
12
+
13
+ # Retrieve a list of all your site's reason_codes
14
+ reason_codes = Chargify::ReasonCode.find(:all)
15
+ #[#<Chargify::ReasonCode:0x007fb67da028d8 @attributes={"id"=>673, "site_id"=>11532, "code"=>"one", "description"=>"One for the money", "position"=>1, "created_at"=>"2017-04-10T04:17:21.000Z", "updated_at"=>"2017-04-10T04:19:30.000Z"}, @prefix_options={}, @persisted=true>, #<Chargify::ReasonCode:0x007fb67da02158 @attributes={"id"=>674, "site_id"=>11532, "code"=>"two", "description"=>"Two for the show", "position"=>2, "created_at"=>"2017-04-10T04:17:27.000Z", "updated_at"=>"2017-04-10T04:19:37.000Z"}, @prefix_options={}, @persisted=true>, #<Chargify::ReasonCode:0x007fb67da01a28 @attributes={"id"=>675, "site_id"=>11532, "code"=>"three", "description"=>"Three to get ready", "position"=>3, "created_at"=>"2017-04-10T04:17:38.000Z", "updated_at"=>"2017-04-10T04:19:43.000Z"}, @prefix_options={}, @persisted=true>, #<Chargify::ReasonCode:0x007fb67da012f8 @attributes={"id"=>681, "site_id"=>11532, "code"=>"four", "description"=>"Four to go", "position"=>4, "created_at"=>"2017-04-10T04:19:50.000Z", "updated_at"=>"2017-04-10T04:19:50.000Z"}, @prefix_options={}, @persisted=true>]
@@ -53,6 +53,12 @@ subscription.cancel
53
53
  subscription.reload
54
54
  # => #<Chargify::Subscription:0x1020ed4b0 @prefix_options={}, @attributes={"cancellation_message"=>nil, "activated_at"=>Tue Nov 17 16:00:17 UTC 2009, "expires_at"=>nil, "updated_at"=>Tue Nov 17 16:00:17 UTC 2009, "credit_card"=>#<Chargify::Subscription::CreditCard:0x10234f168 @prefix_options={}, @attributes={"card_type"=>"bogus", "expiration_year"=>2015, "masked_card_number"=>"XXXX-XXXX-XXXX-2", "first_name"=>"Michael", "expiration_month"=>1, "last_name"=>"Klett"}>, "product"=>#<Chargify::Product:0x10234f370 @prefix_options={}, @attributes={"price_in_cents"=>0, "name"=>"Chargify API Ares Test", "handle"=>"chargify-api-ares-test", "product_family"=>#<Chargify::Product::ProductFamily:0x102354708 @prefix_options={}, @attributes={"name"=>"Chargify API ARes Test", "handle"=>"chargify-api-ares-test", "id"=>79, "accounting_code"=>nil}>, "id"=>153, "accounting_code"=>nil, "interval_unit"=>"month", "interval"=>1}>, "credit_card_attributes"=>{:full_number=>"2", :expiration_year=>"2015"}, "trial_ended_at"=>nil, "id"=>331, "current_period_ends_at"=>Thu Dec 17 16:00:17 UTC 2009, "product_handle"=>"chargify-api-ares-test", "customer"=>#<Chargify::Customer:0x10234f730 @prefix_options={}, @attributes={"reference"=>"moklett", "updated_at"=>Tue Nov 17 15:51:02 UTC 2009, "id"=>331, "first_name"=>"Michael", "organization"=>"Chargify", "last_name"=>"Klett", "email"=>"moklett@example.com", "created_at"=>Tue Nov 17 15:51:02 UTC 2009}>, "trial_started_at"=>nil, "balance_in_cents"=>0, "current_period_started_at"=>Tue Nov 17 16:00:17 UTC 2009, "state"=>"canceled", "created_at"=>Tue Nov 17 16:00:17 UTC 2009, "customer_reference"=>"moklett"}>
55
55
 
56
+ # Cancel a subscription with key/value options (Omitted options remain nil)
57
+ subscription.cancel(
58
+ :cancellation_message => "Some cancellation message",
59
+ :reason_code => "Some reason code"
60
+ )
61
+
56
62
  # Schedule a delayed cancellation
57
63
  subscription.delayed_cancel
58
64
  subscription.delayed_cancel(true)
@@ -68,3 +74,6 @@ subscription.product_change('new-handle', true)
68
74
 
69
75
  # Cancel a delayed product change
70
76
  subscription.cancel_delayed_product_change
77
+
78
+ # Retry a past-due subscription
79
+ subscription.retry
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../
3
3
  specs:
4
- chargify_api_ares (1.4.6)
4
+ chargify_api_ares (1.4.7)
5
5
  activeresource (>= 3.2.16)
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../
3
3
  specs:
4
- chargify_api_ares (1.4.6)
4
+ chargify_api_ares (1.4.7)
5
5
  activeresource (>= 3.2.16)
6
6
 
7
7
  GEM
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../
3
3
  specs:
4
- chargify_api_ares (1.4.6)
4
+ chargify_api_ares (1.4.7)
5
5
  activeresource (>= 3.2.16)
6
6
 
7
7
  GEM
@@ -11,11 +11,13 @@ require 'chargify_api_ares/resources/coupon'
11
11
  require 'chargify_api_ares/resources/customer_metadata'
12
12
  require 'chargify_api_ares/resources/customer'
13
13
  require 'chargify_api_ares/resources/event'
14
+ require 'chargify_api_ares/resources/management_link'
14
15
  require 'chargify_api_ares/resources/migration'
15
16
  require 'chargify_api_ares/resources/payment'
16
17
  require 'chargify_api_ares/resources/payment_profile'
17
18
  require 'chargify_api_ares/resources/product'
18
19
  require 'chargify_api_ares/resources/product_family'
20
+ require 'chargify_api_ares/resources/reason_code'
19
21
  require 'chargify_api_ares/resources/renewal_preview'
20
22
  require 'chargify_api_ares/resources/site'
21
23
  require 'chargify_api_ares/resources/statement'
@@ -7,7 +7,7 @@ module Chargify
7
7
  end
8
8
 
9
9
  def self.find_by_product_family_id_and_code(product_family_id, code)
10
- find(:one, :from => :lookup, :params => {:product_family_id => product_family_id, :code => code})
10
+ find(:one, :from => :find, :params => {:product_family_id => product_family_id, :code => code})
11
11
  end
12
12
 
13
13
  def self.validate(params = {})
@@ -15,6 +15,11 @@ module Chargify
15
15
  Subscription.find(:all, :params => params)
16
16
  end
17
17
 
18
+ def management_link(params = {})
19
+ params.merge!(:from => "/portal/customers/#{self.id}/management_link")
20
+ ManagementLink.find(:one, params)
21
+ end
22
+
18
23
  def payment_profiles(params = {})
19
24
  params.merge!({:customer_id => self.id})
20
25
  PaymentProfile.find(:all, :params => params)
@@ -0,0 +1,9 @@
1
+ module Chargify
2
+ class ManagementLink < Base
3
+ self.prefix = '/portal/customers/:customer_id/'
4
+
5
+ def self.collection_name
6
+ element_name
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ module Chargify
2
+ class ReasonCode < Base
3
+ include ResponseHelper
4
+ end
5
+ end
@@ -21,12 +21,19 @@ module Chargify
21
21
  super
22
22
  end
23
23
 
24
- def cancel(cancellation_message = nil)
25
- if cancellation_message.nil?
24
+ def cancel(params = {})
25
+ if params.blank?
26
26
  destroy
27
27
  else
28
28
  #Destroy does not support body, must work around it to send verb DELETE
29
- self.connection.post(element_path, {:cancellation_message => cancellation_message}.to_xml(:root => :subscription), self.class.headers.merge({'X-Http-Method-Override' => 'DELETE'}))
29
+ self.connection.post(
30
+ element_path,
31
+ {
32
+ cancellation_message: params[:cancellation_message] || nil,
33
+ reason_code: params[:reason_code] || nil
34
+ }.to_xml(:root => :subscription),
35
+ self.class.headers.merge({'X-Http-Method-Override' => 'DELETE'})
36
+ )
30
37
  end
31
38
  end
32
39
 
@@ -102,6 +109,12 @@ module Chargify
102
109
  end
103
110
  end
104
111
 
112
+ def retry
113
+ process_capturing_errors do
114
+ put :retry
115
+ end
116
+ end
117
+
105
118
  def reset_balance
106
119
  process_capturing_errors do
107
120
  put :reset_balance
@@ -157,7 +170,7 @@ module Chargify
157
170
  if code.nil?
158
171
  delete :remove_coupon
159
172
  else
160
- delete :remove_coupon, :code => code
173
+ delete :remove_coupon, :coupon_code => code
161
174
  end
162
175
  end
163
176
  end
@@ -330,6 +330,30 @@ describe "Remote" do
330
330
  @subscription.cancel
331
331
  Chargify::Subscription.find(@subscription.id).state.should == 'canceled'
332
332
  end
333
+
334
+ it "does not set optional attributes" do
335
+ @subscription.cancel
336
+ @subscription.reload.cancellation_message.should be_nil
337
+ @subscription.reload.reason_code.should be_nil
338
+ end
339
+
340
+ it "only sets optional cancellation_message attribute" do
341
+ @subscription.cancel(cancellation_message: "This is a cancellation message.")
342
+ @subscription.reload.cancellation_message.should == "This is a cancellation message."
343
+ @subscription.reload.reason_code.should be_nil
344
+ end
345
+
346
+ it "only sets optional reason_code attribute" do
347
+ @subscription.cancel(reason_code: "This is a reason code.")
348
+ @subscription.reload.cancellation_message.should be_nil
349
+ @subscription.reload.reason_code.should == "This is a reason code."
350
+ end
351
+
352
+ it "sets multiple optional attributes" do
353
+ @subscription.cancel(cancellation_message: "This is a cancellation message.", reason_code: "This is a reason code.")
354
+ @subscription.reload.cancellation_message.should == "This is a cancellation message."
355
+ @subscription.reload.reason_code.should == "This is a reason code."
356
+ end
333
357
  end
334
358
 
335
359
  describe "scheduling a subscription cancellation" do
@@ -621,6 +645,88 @@ describe "Remote" do
621
645
  end
622
646
  end
623
647
 
648
+ describe "removing a coupon" do
649
+ let(:coupon1) do
650
+ Chargify::Coupon.create(
651
+ product_family_id: acme_projects.id,
652
+ name: 'CODE 1',
653
+ code: 'CODE1',
654
+ description: 'a coupon',
655
+ percentage: 10,
656
+ stackable: true
657
+ )
658
+ end
659
+
660
+ context 'when a subscription has a single coupon' do
661
+
662
+ let(:subscription) do
663
+ Chargify::Subscription.create(
664
+ :product_handle => pro_plan.handle,
665
+ :customer_reference => johnadoe.reference,
666
+ :payment_profile_attributes => good_payment_profile_attributes,
667
+ :coupon_codes => coupon1.code
668
+ )
669
+ end
670
+
671
+ it 'removes the coupon when a code is provided' do
672
+ subscription.remove_coupon('CODE1')
673
+ subscription.reload
674
+
675
+ expect(subscription.coupon_code).to be_nil
676
+ end
677
+
678
+ it 'removes the coupon without a code' do
679
+ subscription.remove_coupon
680
+ subscription.reload
681
+
682
+ expect(subscription.coupon_code).to be_nil
683
+ end
684
+
685
+ it 'does not remove the coupon given a mismatched code' do
686
+ subscription.remove_coupon('NOT_A_CODE')
687
+ subscription.reload
688
+
689
+ expect(subscription.coupon_code).to eq 'CODE1'
690
+ end
691
+ end
692
+
693
+ context 'when a subscription has multiple coupons' do
694
+ let(:coupon2) do
695
+ Chargify::Coupon.create(
696
+ product_family_id: acme_projects.id,
697
+ name: 'CODE 2',
698
+ code: 'CODE2',
699
+ description: 'another coupon',
700
+ percentage: 10,
701
+ stackable: true
702
+ )
703
+ end
704
+
705
+ let(:subscription) do
706
+ Chargify::Subscription.create(
707
+ :product_handle => pro_plan.handle,
708
+ :customer_reference => johnadoe.reference,
709
+ :payment_profile_attributes => good_payment_profile_attributes,
710
+ :coupon_codes => [coupon1.code, coupon2.code]
711
+ )
712
+ end
713
+
714
+ it 'does not remove any coupons without a code' do
715
+ subscription.remove_coupon
716
+ subscription.reload
717
+
718
+ expect(subscription.coupon_codes).to eq ['CODE1', 'CODE2']
719
+ end
720
+
721
+ it 'removes the specified coupon when a code is given' do
722
+ subscription.remove_coupon('CODE1')
723
+ subscription.reload
724
+
725
+ expect(subscription.coupon_codes).to eq ['CODE2']
726
+ end
727
+ end
728
+ end
729
+
624
730
  describe "adding a refund" do
625
731
  before(:all) do
626
732
  @subscription = Chargify::Subscription.create(
@@ -5,7 +5,7 @@ describe Chargify::Coupon, :fake_resource do
5
5
  let(:existing_coupon) { build(:coupon, :code => '20OFF') }
6
6
 
7
7
  before(:each) do
8
- FakeWeb.register_uri(:get, "#{test_domain}/coupons/lookup.xml?code=#{existing_coupon.code}&product_family_id=10", :body => existing_coupon.attributes.to_xml)
8
+ FakeWeb.register_uri(:get, "#{test_domain}/coupons/find.xml?code=#{existing_coupon.code}&product_family_id=10", :body => existing_coupon.attributes.to_xml)
9
9
  end
10
10
 
11
11
  it "finds the correct coupon by product family and code" do
@@ -38,4 +38,16 @@ describe Chargify::Customer, :fake_resource do
38
38
  end
39
39
  end
40
40
 
41
+ context '#management_link' do
42
+ let(:customer) { Chargify::Customer.create(:id => 5, :reference => 'sigma') }
43
+ let(:management_link) { Chargify::ManagementLink.create(:customer_id => customer.id, :url => 'https://www.billingportal.com/manage/1/2/3') }
44
+
45
+ before(:each) do
46
+ FakeWeb.register_uri(:get, "#{test_domain}/portal/customers/#{customer.id}/management_link", :body => management_link.attributes.to_xml)
47
+ end
48
+
49
+ it "returns the management link belonging to the customer" do
50
+ expect(customer.management_link.attributes).to eq(management_link.attributes)
51
+ end
52
+ end
41
53
  end
metadata CHANGED
@@ -1,153 +1,153 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chargify_api_ares
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.7
4
+ version: 1.4.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chargify Development Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-22 00:00:00.000000000 Z
11
+ date: 2018-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.2.16
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.2.16
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 10.0.3
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 10.0.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 2.12.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.12.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: factory_girl
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '2.6'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2.6'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: fakeweb
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 1.3.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 1.3.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: faker
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 1.1.2
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.1.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: pry
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: vcr
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: dotenv
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: appraisal
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  description: ''
@@ -156,10 +156,10 @@ executables: []
156
156
  extensions: []
157
157
  extra_rdoc_files: []
158
158
  files:
159
- - .env
160
- - .gitignore
161
- - .rspec
162
- - .travis.yml
159
+ - ".env"
160
+ - ".gitignore"
161
+ - ".rspec"
162
+ - ".travis.yml"
163
163
  - Appraisals
164
164
  - Gemfile
165
165
  - Gemfile.lock
@@ -178,6 +178,7 @@ files:
178
178
  - examples/migrations.rb
179
179
  - examples/payments.rb
180
180
  - examples/products.rb
181
+ - examples/reason_codes.rb
181
182
  - examples/renewal_preview.rb
182
183
  - examples/subscriptions.rb
183
184
  - examples/transactions.rb
@@ -202,11 +203,13 @@ files:
202
203
  - lib/chargify_api_ares/resources/customer_metafield.rb
203
204
  - lib/chargify_api_ares/resources/event.rb
204
205
  - lib/chargify_api_ares/resources/invoice.rb
206
+ - lib/chargify_api_ares/resources/management_link.rb
205
207
  - lib/chargify_api_ares/resources/migration.rb
206
208
  - lib/chargify_api_ares/resources/payment.rb
207
209
  - lib/chargify_api_ares/resources/payment_profile.rb
208
210
  - lib/chargify_api_ares/resources/product.rb
209
211
  - lib/chargify_api_ares/resources/product_family.rb
212
+ - lib/chargify_api_ares/resources/reason_code.rb
210
213
  - lib/chargify_api_ares/resources/renewal_preview.rb
211
214
  - lib/chargify_api_ares/resources/site.rb
212
215
  - lib/chargify_api_ares/resources/statement.rb
@@ -257,17 +260,17 @@ require_paths:
257
260
  - lib
258
261
  required_ruby_version: !ruby/object:Gem::Requirement
259
262
  requirements:
260
- - - '>='
263
+ - - ">="
261
264
  - !ruby/object:Gem::Version
262
265
  version: '0'
263
266
  required_rubygems_version: !ruby/object:Gem::Requirement
264
267
  requirements:
265
- - - '>='
268
+ - - ">="
266
269
  - !ruby/object:Gem::Version
267
270
  version: '0'
268
271
  requirements: []
269
272
  rubyforge_project:
270
- rubygems_version: 2.0.14
273
+ rubygems_version: 2.7.6
271
274
  signing_key:
272
275
  specification_version: 3
273
276
  summary: A Chargify API wrapper for Ruby using ActiveResource