recurly 2.19.9 → 2.19.11

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
2
  SHA256:
3
- metadata.gz: e4a96134a4b8977fc5abc3b111f5e56354e45f3bc8383a590bd74522bd6c3ec0
4
- data.tar.gz: 5d9f1d4efab9691b79d8d01aee84c959a9c693bd4c00ed51ad0ffea5f8e28848
3
+ metadata.gz: 0aef43aa6bceadfd0ab52c09c03aa6e24cff75284fbb3e48fd9ab85916debcbc
4
+ data.tar.gz: 194e29765365f787666389d0e93ec798d17e6a52ed8046a7b28d5a3ceace9575
5
5
  SHA512:
6
- metadata.gz: 31da34b6f7c68bfecaa27fbe580ec8946275d43c93e847ac7684546e29d13e165f8c38f2c8238eae631d0da995716713907011ad6c12e3c0a6e71e9ae7246dd1
7
- data.tar.gz: d55a556963080206d0868f03c1adac3736faaa08d80c45eddab01fba3d705ede54eb3d82740154d5407d8ccbb3b92fef3b49434a52da7a6a12401a5cce065716
6
+ metadata.gz: fab2d953e3d737d10851c023fe20d77229404485f17ff2a2cd10c9f009b31f59b90e5dd122e13ca844962843e97b686a4ea76104ac12be219c0b5ecaf68f9655
7
+ data.tar.gz: b7abf956d43a98c0f78274cb798e25900059f357dc9ed456d7241b4d1a2fa420718a3a841cacf945bd35c74e6e0615540c542ad5ee0a8fb053c89423cf2dba46
data/README.md CHANGED
@@ -14,7 +14,7 @@ Recurly is packaged as a Ruby gem. We recommend you install it with
14
14
  [Bundler](http://gembundler.com/) by adding the following line to your Gemfile:
15
15
 
16
16
  ``` ruby
17
- gem 'recurly', '~> 2.19.9'
17
+ gem 'recurly', '~> 2.19.11'
18
18
  ```
19
19
 
20
20
  Recurly will automatically use [Nokogiri](http://nokogiri.org/) (for a nice
@@ -31,7 +31,7 @@ module Recurly
31
31
  external_sku
32
32
  avalara_service_type
33
33
  avalara_transaction_type
34
- )
34
+ ) + RevRec::PRODUCT_ATTRIBUTES
35
35
  alias to_param add_on_code
36
36
  alias quantity default_quantity
37
37
 
@@ -68,7 +68,7 @@ module Recurly
68
68
  avalara_transaction_type
69
69
  avalara_service_type
70
70
  refundable_total_in_cents
71
- ]
71
+ ] + RevRec::ALL_ATTRIBUTES
72
72
  alias to_param uuid
73
73
 
74
74
  # @return ["charge", "credit", nil] The type of adjustment.
@@ -1,9 +1,10 @@
1
1
  module Recurly
2
2
  class BusinessEntity < Resource
3
3
  belongs_to :site
4
+ belongs_to :default_revenue_gl_account, class_name: 'GeneralLedgerAccount'
5
+ belongs_to :default_liability_gl_account, class_name: 'GeneralLedgerAccount'
4
6
 
5
7
  has_many :invoices
6
-
7
8
  has_many :accounts
8
9
 
9
10
  define_attribute_methods %w(
@@ -15,6 +16,8 @@ module Recurly
15
16
  subscriber_location_countries
16
17
  default_vat_number
17
18
  default_registration_number
19
+ default_revenue_gl_account_id
20
+ default_liability_gl_account_id
18
21
  created_at
19
22
  updated_at
20
23
  )
@@ -5,6 +5,7 @@ module Recurly
5
5
  belongs_to :site
6
6
  belongs_to :account
7
7
  belongs_to :external_subscription
8
+ belongs_to :external_payment_phase
8
9
 
9
10
  # @return [[ExternalCharge], nil]
10
11
  has_many :line_items, class_name: :ExternalCharge
@@ -0,0 +1,27 @@
1
+ module Recurly
2
+ class ExternalPaymentPhase < Resource
3
+
4
+ # @return [ExternalSubscription]
5
+ belongs_to :external_subscription
6
+
7
+ define_attribute_methods %w(
8
+ id
9
+ started_at
10
+ ends_at
11
+ starting_billing_period_index
12
+ ending_billing_period_index
13
+ offer_type
14
+ offer_name
15
+ period_count
16
+ period_length
17
+ amount
18
+ currency
19
+ created_at
20
+ updated_at
21
+ )
22
+
23
+ # We do not expose POST or PUT via the v2 API
24
+ protected(*%w(save save!))
25
+ private_class_method(*%w(create! create))
26
+ end
27
+ end
@@ -10,6 +10,9 @@ module Recurly
10
10
  # @return [ExternalInvoice]
11
11
  has_many :external_invoices
12
12
 
13
+ # @return [ExternalPaymentPhase]
14
+ has_many :external_payment_phases
15
+
13
16
  define_attribute_methods %w(
14
17
  account
15
18
  external_id
@@ -32,5 +35,17 @@ module Recurly
32
35
  # We do not expose PUT or POST in the v2 API.
33
36
  protected(*%w(save save!))
34
37
  private_class_method(*%w(create! create))
38
+
39
+ def get_external_payment_phases
40
+ Pager.new(Recurly::ExternalPaymentPhase, uri: "#{path}/external_payment_phases", parent: self)
41
+ rescue Recurly::API::UnprocessableEntity => e
42
+ raise Invalid, e.message
43
+ end
44
+
45
+ def get_external_payment_phase(external_payment_phase_uuid)
46
+ ExternalPaymentPhase.from_response API.get("#{path}/external_payment_phases/#{external_payment_phase_uuid}")
47
+ rescue Recurly::API::UnprocessableEntity => e
48
+ raise Invalid, e.message
49
+ end
35
50
  end
36
51
  end
@@ -0,0 +1,16 @@
1
+ module Recurly
2
+ class GeneralLedgerAccount < Resource
3
+ belongs_to :site
4
+
5
+ define_attribute_methods %w(
6
+ id
7
+ code
8
+ description
9
+ account_type
10
+ )
11
+
12
+ def self.collection_path
13
+ "general_ledger_accounts"
14
+ end
15
+ end
16
+ end
@@ -36,7 +36,7 @@ module Recurly
36
36
  gifter_account_code
37
37
  recipient_account_code
38
38
  invoice_number
39
- )
39
+ ) + RevRec::PRODUCT_ATTRIBUTES
40
40
  alias to_param id
41
41
 
42
42
  # Preview a GiftCard given some attributes
data/lib/recurly/item.rb CHANGED
@@ -16,7 +16,7 @@ module Recurly
16
16
  created_at
17
17
  updated_at
18
18
  deleted_at
19
- )
19
+ ) + RevRec::PRODUCT_ATTRIBUTES
20
20
 
21
21
  def changed_attributes
22
22
  attrs = super
@@ -0,0 +1,15 @@
1
+ module Recurly
2
+ class PerformanceObligation < Resource
3
+
4
+ define_attribute_methods %w(
5
+ id
6
+ name
7
+ created_at
8
+ updated_at
9
+ )
10
+
11
+ def self.collection_path
12
+ "performance_obligations"
13
+ end
14
+ end
15
+ end
data/lib/recurly/plan.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  module Recurly
2
2
  # Recurly Documentation: https://dev.recurly.com/docs/list-plans
3
3
  class Plan < Resource
4
+
4
5
  # @return [Pager<AddOn>, []]
5
6
  has_many :add_ons
6
7
 
@@ -13,6 +14,7 @@ module Recurly
13
14
  # @return [[CustomField], []]
14
15
  has_many :custom_fields, class_name: :CustomField, readonly: false
15
16
 
17
+ # Define attribute methods
16
18
  define_attribute_methods %w(
17
19
  plan_code
18
20
  name
@@ -50,7 +52,7 @@ module Recurly
50
52
  custom_fields
51
53
  created_at
52
54
  updated_at
53
- )
55
+ ) + RevRec::PLAN_ATTRIBUTES
54
56
  alias to_param plan_code
55
57
  end
56
58
  end
@@ -1,5 +1,6 @@
1
1
  require 'date'
2
2
  require 'erb'
3
+ require_relative './rev_rec'
3
4
 
4
5
  module Recurly
5
6
  # The base class for all Recurly resources (e.g. {Account}, {Subscription},
@@ -0,0 +1,18 @@
1
+ module Recurly
2
+ module RevRec
3
+ POB_ATTRIBUTE = %i(performance_obligation_id).freeze
4
+ POB_NATIVE_ATTRIBUTE = %i(performance_obligation_identifier).freeze
5
+
6
+ GLA_ID_ATTRIBUTES = %i(liability_gl_account_id revenue_gl_account_id).freeze
7
+ GLA_CODE_ATTRIBUTES = %i(liability_gl_account_code revenue_gl_account_code).freeze
8
+
9
+ PRODUCT_NATIVE_ATTRS = (POB_NATIVE_ATTRIBUTE + GLA_ID_ATTRIBUTES).freeze
10
+ PRODUCT_ATTRIBUTES = (POB_ATTRIBUTE + GLA_ID_ATTRIBUTES).freeze
11
+
12
+ LINE_ITEM_ATTRIBUTES = (POB_ATTRIBUTE + GLA_CODE_ATTRIBUTES).freeze
13
+ ALL_ATTRIBUTES = (PRODUCT_ATTRIBUTES + LINE_ITEM_ATTRIBUTES).uniq.freeze
14
+
15
+ SETUP_FEE_ATTRIBUTES = PRODUCT_ATTRIBUTES.map { |key| :"setup_fee_#{key}" }.freeze
16
+ PLAN_ATTRIBUTES = [*PRODUCT_ATTRIBUTES, *SETUP_FEE_ATTRIBUTES].freeze
17
+ end
18
+ end
@@ -7,7 +7,7 @@ module Recurly
7
7
  tax_code
8
8
  created_at
9
9
  updated_at
10
- )
10
+ ) + RevRec::PRODUCT_ATTRIBUTES
11
11
  alias to_param code
12
12
  end
13
13
  end
@@ -1,6 +1,6 @@
1
1
  module Recurly
2
2
  module Version
3
- VERSION = "2.19.9"
3
+ VERSION = "2.19.11"
4
4
 
5
5
  class << self
6
6
  def inspect
@@ -22,7 +22,7 @@ module Recurly
22
22
  def each element = root
23
23
  element.each_element do |el|
24
24
  yield el
25
- each el, &Proc.new
25
+ each el, &Proc.new { |e| yield e }
26
26
  end
27
27
  end
28
28
 
data/lib/recurly.rb CHANGED
@@ -27,6 +27,7 @@ module Recurly
27
27
  require 'recurly/external_invoice'
28
28
  require 'recurly/external_product'
29
29
  require 'recurly/external_product_reference'
30
+ require 'recurly/external_payment_phase'
30
31
  require 'recurly/external_subscription'
31
32
  require 'recurly/helper'
32
33
  require 'recurly/invoice'
@@ -61,6 +62,8 @@ module Recurly
61
62
  require 'recurly/currency_percentage_tier'
62
63
  require 'recurly/sub_add_on_percentage_tier'
63
64
  require 'recurly/custom_field_definition'
65
+ require 'recurly/general_ledger_account'
66
+ require 'recurly/performance_obligation'
64
67
 
65
68
  @subdomain = nil
66
69
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recurly
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.19.9
4
+ version: 2.19.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-10 00:00:00.000000000 Z
11
+ date: 2024-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -48,42 +48,42 @@ dependencies:
48
48
  name: minitest
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 5.8.0
54
51
  - - "~>"
55
52
  - !ruby/object:Gem::Version
56
53
  version: '5.8'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 5.8.0
57
57
  type: :development
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: 5.8.0
64
61
  - - "~>"
65
62
  - !ruby/object:Gem::Version
66
63
  version: '5.8'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 5.8.0
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: addressable
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: 2.4.0
74
71
  - - "~>"
75
72
  - !ruby/object:Gem::Version
76
73
  version: '2.4'
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: 2.4.0
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: 2.4.0
84
81
  - - "~>"
85
82
  - !ruby/object:Gem::Version
86
83
  version: '2.4'
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 2.4.0
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: webmock
89
89
  requirement: !ruby/object:Gem::Requirement
@@ -118,6 +118,88 @@ dependencies:
118
118
  - - "~>"
119
119
  - !ruby/object:Gem::Version
120
120
  version: '0'
121
+ - !ruby/object:Gem::Dependency
122
+ name: yard
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: 0.9.9
128
+ type: :development
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: 0.9.9
135
+ - !ruby/object:Gem::Dependency
136
+ name: redcarpet
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '3.4'
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: 3.4.0
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '3.4'
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: 3.4.0
155
+ - !ruby/object:Gem::Dependency
156
+ name: racc
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: '1'
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: '1'
169
+ - !ruby/object:Gem::Dependency
170
+ name: pry
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "<"
174
+ - !ruby/object:Gem::Version
175
+ version: 0.11.0
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: 0.9.10
179
+ type: :development
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "<"
184
+ - !ruby/object:Gem::Version
185
+ version: 0.11.0
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: 0.9.10
189
+ - !ruby/object:Gem::Dependency
190
+ name: pry-nav
191
+ requirement: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - "~>"
194
+ - !ruby/object:Gem::Version
195
+ version: 0.2.4
196
+ type: :development
197
+ prerelease: false
198
+ version_requirements: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - "~>"
201
+ - !ruby/object:Gem::Version
202
+ version: 0.2.4
121
203
  description: 'An API client library for Recurly: https://recurly.com'
122
204
  email: support@recurly.com
123
205
  executables: []
@@ -152,10 +234,12 @@ files:
152
234
  - lib/recurly/external_account.rb
153
235
  - lib/recurly/external_charge.rb
154
236
  - lib/recurly/external_invoice.rb
237
+ - lib/recurly/external_payment_phase.rb
155
238
  - lib/recurly/external_product.rb
156
239
  - lib/recurly/external_product_reference.rb
157
240
  - lib/recurly/external_subscription.rb
158
241
  - lib/recurly/gateway_attribute.rb
242
+ - lib/recurly/general_ledger_account.rb
159
243
  - lib/recurly/gift_card.rb
160
244
  - lib/recurly/helper.rb
161
245
  - lib/recurly/invoice.rb
@@ -168,6 +252,7 @@ files:
168
252
  - lib/recurly/money.rb
169
253
  - lib/recurly/note.rb
170
254
  - lib/recurly/percentage_tier.rb
255
+ - lib/recurly/performance_obligation.rb
171
256
  - lib/recurly/plan.rb
172
257
  - lib/recurly/plan_ramp_interval.rb
173
258
  - lib/recurly/purchase.rb
@@ -176,6 +261,7 @@ files:
176
261
  - lib/recurly/resource/association.rb
177
262
  - lib/recurly/resource/errors.rb
178
263
  - lib/recurly/resource/pager.rb
264
+ - lib/recurly/rev_rec.rb
179
265
  - lib/recurly/shipping_address.rb
180
266
  - lib/recurly/shipping_fee.rb
181
267
  - lib/recurly/shipping_method.rb
@@ -271,7 +357,7 @@ homepage: https://github.com/recurly/recurly-client-ruby
271
357
  licenses:
272
358
  - MIT
273
359
  metadata: {}
274
- post_install_message:
360
+ post_install_message:
275
361
  rdoc_options:
276
362
  - "--main"
277
363
  - README.md
@@ -288,8 +374,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
288
374
  - !ruby/object:Gem::Version
289
375
  version: '0'
290
376
  requirements: []
291
- rubygems_version: 3.0.3.1
292
- signing_key:
377
+ rubygems_version: 3.4.10
378
+ signing_key:
293
379
  specification_version: 4
294
380
  summary: Recurly API Client
295
381
  test_files: []