recurly 2.18.9 → 2.18.14

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: dc652c9bf17962b4cba8a2e1bb07f4ed3f22f50169ccb25e914ada87a04b2e9f
4
- data.tar.gz: 469194dbfb35df3ff98392edc8e830142e2b53cbf0ed28ca70c59b2179d7c64e
3
+ metadata.gz: 0aef5f4769bbf0800eb110b5d687c5a942022a371c92c87edb8cc4bf23bc7503
4
+ data.tar.gz: 0d45adbbc2f0250aebcefa96b5f43b7f4d314443f648c84caa030b7327b5d074
5
5
  SHA512:
6
- metadata.gz: 74d95dd33418be41ae07cf3809cfb3f5fef49b7f9b42de17f9a85e350951c58f1a7df180345a4b2de3f9413c7c5fdf36440b2c2368ba3878cb7782bc84373305
7
- data.tar.gz: f66bd9275edb0509f433d5caf5112bd9304f0ad72d146c1875bf38d72f8657e243850daf87afa3737b5cf79eb2dab38ef1ee883517ac2f216b91a493ffcf883e
6
+ metadata.gz: 3aab3d7166e2cff5ea25905294539df647c2cece2770756d844899551807b55599b77ec9a419018a02fe9a90bb0f25f514d8e1d089ac0f94dc55346fb439cc6c
7
+ data.tar.gz: 2310d1a1f729a351d96a95de146fa219f56fc39d1eb1b7dbb90959226b7ee592500bfc2b76ae68c879b172b62b3479c46aacdf57dd42be0489762159f4ba61f8
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.18.9'
17
+ gem 'recurly', '~> 2.18.14'
18
18
  ```
19
19
 
20
20
  Recurly will automatically use [Nokogiri](http://nokogiri.org/) (for a nice
@@ -2,6 +2,7 @@ module Recurly
2
2
  class AddOn < Resource
3
3
  # @return [Plan]
4
4
  belongs_to :plan
5
+ # @return [[Tier], []]
5
6
  has_many :tiers, class_name: :Tier, readonly: false
6
7
 
7
8
  define_attribute_methods %w(
@@ -22,6 +23,8 @@ module Recurly
22
23
  created_at
23
24
  updated_at
24
25
  tier_type
26
+ avalara_service_type
27
+ avalara_transaction_type
25
28
  )
26
29
  alias to_param add_on_code
27
30
  alias quantity default_quantity
@@ -57,6 +57,8 @@ module Recurly
57
57
  original_adjustment_uuid
58
58
  shipping_address_id
59
59
  surcharge_in_cents
60
+ avalara_transaction_type
61
+ avalara_service_type
60
62
  )
61
63
  alias to_param uuid
62
64
 
@@ -18,7 +18,7 @@ module Recurly
18
18
  @@base_uri = "https://api.recurly.com/v2/"
19
19
  @@valid_domains = [".recurly.com"]
20
20
 
21
- RECURLY_API_VERSION = '2.26'
21
+ RECURLY_API_VERSION = '2.29'
22
22
 
23
23
  FORMATS = Helper.hash_with_indifferent_read_access(
24
24
  'pdf' => 'application/pdf',
@@ -9,6 +9,8 @@ module Recurly
9
9
  PAYPAL_ATTRIBUTES = %w(paypal_billing_agreement_id).freeze
10
10
  ROKU_ATTRIBUTES = %w(roku_billing_agreement_id last_four).freeze
11
11
  SEPA_ATTRIBUTES = %w(iban).freeze
12
+ BACS_ATTRIBUTES = %w(account_number sort_code type).freeze
13
+ BECS_ATTRIBUTES = %w(account_number bsb_code type).freeze
12
14
 
13
15
  # @return [Account]
14
16
  belongs_to :account
@@ -37,37 +39,46 @@ module Recurly
37
39
  fraud_session_id
38
40
  three_d_secure_action_result_token_id
39
41
  transaction_type
40
- iban
41
42
  mandate_reference
42
- ) | CREDIT_CARD_ATTRIBUTES | BANK_ACCOUNT_ATTRIBUTES | AMAZON_ATTRIBUTES | PAYPAL_ATTRIBUTES | ROKU_ATTRIBUTES | SEPA_ATTRIBUTES
43
-
44
- # @return ["credit_card", "paypal", "amazon", "bank_account", "roku", "sepa", nil] The type of billing info.
45
- attr_reader :type
43
+ tax_identifier
44
+ tax_identifier_type
45
+ ) | CREDIT_CARD_ATTRIBUTES | BANK_ACCOUNT_ATTRIBUTES | AMAZON_ATTRIBUTES | PAYPAL_ATTRIBUTES | ROKU_ATTRIBUTES | SEPA_ATTRIBUTES | BACS_ATTRIBUTES | BECS_ATTRIBUTES
46
46
 
47
47
  # @return [String]
48
48
  def inspect
49
49
  attributes = self.class.attribute_names
50
50
  case type
51
51
  when 'credit_card'
52
- attributes -= (AMAZON_ATTRIBUTES + PAYPAL_ATTRIBUTES + BANK_ACCOUNT_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES)
52
+ attributes -= (AMAZON_ATTRIBUTES + PAYPAL_ATTRIBUTES + BANK_ACCOUNT_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES + BACS_ATTRIBUTES + BECS_ATTRIBUTES)
53
53
  attributes |= CREDIT_CARD_ATTRIBUTES
54
54
  when 'paypal'
55
- attributes -= (CREDIT_CARD_ATTRIBUTES | BANK_ACCOUNT_ATTRIBUTES + AMAZON_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES)
55
+ attributes -= (CREDIT_CARD_ATTRIBUTES | BANK_ACCOUNT_ATTRIBUTES + AMAZON_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES + BACS_ATTRIBUTES + BECS_ATTRIBUTES)
56
56
  when 'amazon'
57
- attributes -= (CREDIT_CARD_ATTRIBUTES | BANK_ACCOUNT_ATTRIBUTES + PAYPAL_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES)
57
+ attributes -= (CREDIT_CARD_ATTRIBUTES | BANK_ACCOUNT_ATTRIBUTES + PAYPAL_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES + BACS_ATTRIBUTES + BECS_ATTRIBUTES)
58
58
  when 'bank_account'
59
- attributes -= (CREDIT_CARD_ATTRIBUTES + PAYPAL_ATTRIBUTES + AMAZON_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES)
59
+ attributes -= (CREDIT_CARD_ATTRIBUTES + PAYPAL_ATTRIBUTES + AMAZON_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES + BACS_ATTRIBUTES + BECS_ATTRIBUTES)
60
60
  attributes |= BANK_ACCOUNT_ATTRIBUTES
61
61
  when 'roku'
62
- attributes -= (CREDIT_CARD_ATTRIBUTES + PAYPAL_ATTRIBUTES + AMAZON_ATTRIBUTES + BANK_ACCOUNT_ATTRIBUTES + SEPA_ATTRIBUTES)
62
+ attributes -= (CREDIT_CARD_ATTRIBUTES + PAYPAL_ATTRIBUTES + AMAZON_ATTRIBUTES + BANK_ACCOUNT_ATTRIBUTES + SEPA_ATTRIBUTES + BACS_ATTRIBUTES + BECS_ATTRIBUTES)
63
63
  attributes |= ROKU_ATTRIBUTES
64
64
  when 'sepa'
65
- attributes -= (CREDIT_CARD_ATTRIBUTES + PAYPAL_ATTRIBUTES + AMAZON_ATTRIBUTES + BANK_ACCOUNT_ATTRIBUTES + ROKU_ATTRIBUTES)
65
+ attributes -= (CREDIT_CARD_ATTRIBUTES + PAYPAL_ATTRIBUTES + AMAZON_ATTRIBUTES + BANK_ACCOUNT_ATTRIBUTES + ROKU_ATTRIBUTES + BACS_ATTRIBUTES + BECS_ATTRIBUTES)
66
66
  attributes |= SEPA_ATTRIBUTES
67
+ when 'bacs'
68
+ attributes -= (CREDIT_CARD_ATTRIBUTES + PAYPAL_ATTRIBUTES + AMAZON_ATTRIBUTES + BANK_ACCOUNT_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES + BECS_ATTRIBUTES)
69
+ attributes |= BACS_ATTRIBUTES
70
+ when 'becs'
71
+ attributes -= (CREDIT_CARD_ATTRIBUTES + PAYPAL_ATTRIBUTES + AMAZON_ATTRIBUTES + BANK_ACCOUNT_ATTRIBUTES + ROKU_ATTRIBUTES + SEPA_ATTRIBUTES + BACS_ATTRIBUTES)
72
+ attributes |= BECS_ATTRIBUTES
67
73
  end
68
74
  super attributes
69
75
  end
70
76
 
77
+ # @return ["credit_card", "paypal", "amazon", "bank_account", "roku", "sepa", "bacs", "becs", nil] The type of billing info.
78
+ def type
79
+ self[:type] || @type
80
+ end
81
+
71
82
  class << self
72
83
  # Overrides the inherited member_path method to allow for billing info's
73
84
  # irregular URL structure.
@@ -110,6 +110,7 @@ module Recurly
110
110
  final_dunning_event
111
111
  gateway_code
112
112
  surcharge_in_cents
113
+ tax_details
113
114
  )
114
115
  alias to_param invoice_number_with_prefix
115
116
 
@@ -11,6 +11,8 @@ module Recurly
11
11
  accounting_code
12
12
  revenue_schedule_type
13
13
  state
14
+ avalara_transaction_type
15
+ avalara_service_type
14
16
  created_at
15
17
  updated_at
16
18
  deleted_at
@@ -32,6 +32,9 @@ module Recurly
32
32
  tax_code
33
33
  trial_requires_billing_info
34
34
  auto_renew
35
+ allow_any_item_on_subscriptions
36
+ avalara_transaction_type
37
+ avalara_service_type
35
38
  created_at
36
39
  updated_at
37
40
  )
@@ -824,9 +824,9 @@ module Recurly
824
824
 
825
825
  # Duck-typing here is problematic because of ActiveSupport's #to_xml.
826
826
  case value
827
- when Resource, Subscription::AddOns
827
+ when Resource
828
828
  value.to_xml options.merge(:builder => node)
829
- when Array
829
+ when Array, Subscription::AddOns
830
830
  value.each do |e|
831
831
  if e.is_a? Recurly::Resource
832
832
  # create a node to hold this resource
@@ -25,7 +25,12 @@ module Recurly
25
25
  def << add_on
26
26
  add_on = SubscriptionAddOn.new(add_on, @subscription)
27
27
 
28
- exist = @add_ons.find { |a| a.add_on_code == add_on.add_on_code }
28
+ exist = @add_ons.find do |a|
29
+ source1 = a.add_on_source || "plan_add_on"
30
+ source2 = add_on.add_on_source || "plan_add_on"
31
+ a.add_on_code == add_on.add_on_code && source1 == source2
32
+ end
33
+
29
34
  if exist
30
35
  exist.quantity ||= 1
31
36
  exist.quantity += add_on.quantity || 1
@@ -6,6 +6,9 @@ module Recurly
6
6
  # @return [Pager<Usage>, []]
7
7
  has_many :usage
8
8
 
9
+ # @return [[Tier], []]
10
+ has_many :tiers, class_name: :Tier, readonly: false
11
+
9
12
  define_attribute_methods %w(
10
13
  add_on_code
11
14
  quantity
@@ -13,6 +16,7 @@ module Recurly
13
16
  add_on_type
14
17
  usage_type
15
18
  usage_percentage
19
+ add_on_source
16
20
  )
17
21
 
18
22
  attr_reader :subscription
@@ -28,6 +32,10 @@ module Recurly
28
32
  if add_on.unit_amount_in_cents
29
33
  self.unit_amount_in_cents = add_on.unit_amount_in_cents.to_i
30
34
  end
35
+ if add_on.respond_to? :add_on_source
36
+ self.add_on_source = add_on.add_on_source
37
+ end
38
+ self.tiers = add_on.tiers if add_on.tiers.any?
31
39
  when Hash
32
40
  self.attributes = add_on
33
41
  when String, Symbol
@@ -7,6 +7,8 @@ module Recurly
7
7
  type
8
8
  tax_rate
9
9
  tax_in_cents
10
+ level
11
+ billable
10
12
  )
11
13
 
12
14
  embedded! true
@@ -2,6 +2,7 @@ module Recurly
2
2
  class Tier < Resource
3
3
 
4
4
  belongs_to :add_on
5
+ belongs_to :subscription_add_on
5
6
 
6
7
  define_attribute_methods %w(
7
8
  ending_quantity
@@ -70,6 +70,8 @@ module Recurly
70
70
  billing_country
71
71
  subscription_id
72
72
  manually_entered
73
+ avalara_transaction_type
74
+ avalara_service_type
73
75
  )
74
76
  alias to_param uuid
75
77
  alias fraud_info fraud
@@ -1,6 +1,6 @@
1
1
  module Recurly
2
2
  module Version
3
- VERSION = "2.18.9"
3
+ VERSION = "2.18.14"
4
4
 
5
5
  class << self
6
6
  def inspect
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.18.9
4
+ version: 2.18.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-15 00:00:00.000000000 Z
11
+ date: 2020-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri