recurly 2.19.9 → 2.19.11

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
  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: []