chargebee 2.14.0 → 2.16.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: c6cf42756435c58e7ea0531e1c81b68382c1ea77
4
- data.tar.gz: bafb9669a356f81402be936307ad48f85df21cb3
3
+ metadata.gz: 6e91a90da69999c446d0f339ddaccef3239841ea
4
+ data.tar.gz: 8584192a936b3f00d2c842d4747be030b571ef78
5
5
  SHA512:
6
- metadata.gz: a6145d08b69f7791279ce683b800b054a30e92458f9c1d2878d7541d84b35a6967566d8728678552919126e6b3c3d998217b0c5ebb73277d3bd1f81f8224178e
7
- data.tar.gz: 193a083482a7fd7cfac4fcf832ed6e4a99017800201cefd8f8b6781ef704e5d5e7433fb245c6dc4c0c8c07b7a88cc8f81e66ad20dfc71783948f30f883171494
6
+ metadata.gz: f0a0dfbc6687ceb4af29180ecc689bfe9836c3ac43ec48b6e4ef601b2651c9e5d991ff584e71dae0976850ce6b32cacdca5f823500e6e3720881d211711dac5f
7
+ data.tar.gz: ee4c770b3a428cf8fabb0407c6bb5d3aa1269ffaced5909339225261b31b8522ac24a061fdea340804ac9ce35708d483ab69989174a1450ce7ee91cbd9cc2fff
data/CHANGELOG.md CHANGED
@@ -1,3 +1,68 @@
1
+ ### v2.16.0 (2022-05-23)
2
+ * * *
3
+
4
+ #### New endpoints:
5
+ * invoice#sync_usages and invoice#resend_einvoice have been added to the invoice resource.
6
+ * credit_notes#resend_einvoice has been added to the credit_notes resource.
7
+ * features#list_features, features#create_a_feature, features#update_a_feature, features#retrieve_a_feature, features#delete_a_feature, features#activate_a_feature, features#archive_a_feature and features#reactivate_a_feature have been added to the features resource.
8
+ * subscription_entitlements#subscription_entitlements_for_subscription and subscription_entitlements#set_subscription_entitlement_availability have been added to the subscription_entitlements resource.
9
+ * item_entitlements#item_entitlements_for_an_item, item_entitlements#item_entitlements_for_a_feature, item_entitlements#add_an_item_entitlements and item_entitlements#upsert_or_remove_an_item_entitlements_for_item have been added to the item_entitlements resource.
10
+ * entitlement_overrides#add_entitlement_override_for_a_subscription and entitlement_overrides#list_entitlement_override_for_a_subscription have been added to the entitlement_overrides resource.
11
+
12
+ #### New Resource:
13
+ * features, subscription_entitlements, item_entitlements and entitlement_overrides have been added.
14
+
15
+ #### New filter parameters:
16
+ * einvoice[status] filter parameter has been added in credit_notes#list_credit_notes api.
17
+
18
+ #### New Enum values:
19
+ * paypal_express_checkout has been added to payment_method_type enum.
20
+ * feature_created, feature_updated, feature_deleted, feature_activated, feature_reactivated, feature_archived, item_entitlements_updated, entitlement_overrides_updated, entitlement_overrides_removed, item_entitlements_removed and entitlement_overrides_auto_removed have been added to the event_type enum.
21
+ * action enum has been added.
22
+
23
+ ### v2.15.0 (2022-04-25)
24
+ * * *
25
+
26
+ #### New endpoints:
27
+ * UnbilledCharge#CreateUnbilledCharge has been added to UnbilledCharge resource. Applicable only for PC1.0.
28
+
29
+ #### New attributes:
30
+ * channel have been added to the Addon, AttachedItem, CreditNote, Customer, Invoice, ItemFamily, ItemPrice, Plan and Subscription resources.
31
+ * external_name and channel have been added to the Item resource.
32
+
33
+ #### New input parameters:
34
+ * external_name have been added to Item#CreateRequest and Item#UpdateRequest.
35
+ * channel have been added to Addon#AddonListRequest.
36
+ * channel have been added to CreditNote#CreditNoteListRequest.
37
+ * channel have been added to Customer#CustomerListRequest.
38
+ * invoice[channel], subscription[channel] and customer[channel] have been added to Export#RevenueRecognitionRequest and Export#DeferredRevenueRequest.
39
+ * plan[channel] have been added to Export#PlansRequest.
40
+ * addon[channel] have been added to Export#AddonsRequest.
41
+ * customer[channel] have been added to Export#CustomersRequest.
42
+ * subscription[channel] have been added to Export#SubscriptionsRequest.
43
+ * invoice[channel] have been added to Export#InvoicesRequest.
44
+ * credit_note[channel] have been added to Export#CreditNotesRequest.
45
+ * item[channel] have been added to Export#ItemsRequest.
46
+ * item_price[channel] have been added to Export#ItemPricesRequest.
47
+ * channel have been added to Invoice#InvoiceListRequest.
48
+ * channel have been added to Item#ItemListRequest.
49
+ * channel have been added to ItemPrice#ItemPriceListRequest.
50
+ * channel have been added to Plan#PlanListRequest.
51
+ * channel have been added to Subscription#SubscriptionListRequest.
52
+
53
+ ### Existing input parameter changes:
54
+ * item_family_id in Item#CreateRequest has been made as required field.
55
+
56
+ ### Removed enum values:
57
+ * coupon_expired event has been removed from EventTypeEnum.
58
+
59
+ ### v2.14.1 (2022-03-31)
60
+ * * *
61
+
62
+ ### Fixes:
63
+ * Fixed serialization issue.
64
+
65
+
1
66
  ### v2.14.0 (2022-03-14)
2
67
  * * *
3
68
 
data/chargebee.gemspec CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.5'
5
5
  s.required_ruby_version = '>= 1.9.3'
6
6
  s.name = 'chargebee'
7
- s.version = '2.14.0'
8
- s.date = '2022-03-14'
7
+ s.version = '2.16.0'
8
+ s.date = '2022-05-23'
9
9
  s.summary = "Ruby client for Chargebee API."
10
10
  s.description = "Subscription Billing - Simple. Secure. Affordable. More details at www.chargebee.com."
11
11
 
@@ -52,15 +52,18 @@ Gem::Specification.new do |s|
52
52
  lib/chargebee/models/customer.rb
53
53
  lib/chargebee/models/differential_price.rb
54
54
  lib/chargebee/models/download.rb
55
+ lib/chargebee/models/entitlement_override.rb
55
56
  lib/chargebee/models/estimate.rb
56
57
  lib/chargebee/models/event.rb
57
58
  lib/chargebee/models/export.rb
59
+ lib/chargebee/models/feature.rb
58
60
  lib/chargebee/models/gift.rb
59
61
  lib/chargebee/models/hierarchy.rb
60
62
  lib/chargebee/models/hosted_page.rb
61
63
  lib/chargebee/models/invoice.rb
62
64
  lib/chargebee/models/invoice_estimate.rb
63
65
  lib/chargebee/models/item.rb
66
+ lib/chargebee/models/item_entitlement.rb
64
67
  lib/chargebee/models/item_family.rb
65
68
  lib/chargebee/models/item_price.rb
66
69
  lib/chargebee/models/model.rb
@@ -77,6 +80,7 @@ Gem::Specification.new do |s|
77
80
  lib/chargebee/models/resource_migration.rb
78
81
  lib/chargebee/models/site_migration_detail.rb
79
82
  lib/chargebee/models/subscription.rb
83
+ lib/chargebee/models/subscription_entitlement.rb
80
84
  lib/chargebee/models/subscription_estimate.rb
81
85
  lib/chargebee/models/tax_withheld.rb
82
86
  lib/chargebee/models/third_party_payment_method.rb
@@ -10,8 +10,8 @@ module ChargeBee
10
10
  :tax_code, :hsn_code, :taxjar_product_code, :avalara_sale_type, :avalara_transaction_type, :avalara_service_type,
11
11
  :sku, :accounting_code, :accounting_category1, :accounting_category2, :accounting_category3,
12
12
  :accounting_category4, :is_shippable, :shipping_frequency_period, :shipping_frequency_period_unit,
13
- :resource_version, :updated_at, :price_in_decimal, :included_in_mrr, :invoice_notes, :taxable,
14
- :tax_profile_id, :meta_data, :tiers, :show_description_in_invoices, :show_description_in_quotes
13
+ :resource_version, :updated_at, :price_in_decimal, :included_in_mrr, :channel, :invoice_notes,
14
+ :taxable, :tax_profile_id, :meta_data, :tiers, :show_description_in_invoices, :show_description_in_quotes
15
15
 
16
16
  # OPERATIONS
17
17
  #-----------
@@ -2,7 +2,8 @@ module ChargeBee
2
2
  class AttachedItem < Model
3
3
 
4
4
  attr_accessor :id, :parent_item_id, :item_id, :type, :status, :quantity, :quantity_in_decimal,
5
- :billing_cycles, :charge_on_event, :charge_once, :created_at, :resource_version, :updated_at
5
+ :billing_cycles, :charge_on_event, :charge_once, :created_at, :resource_version, :updated_at,
6
+ :channel
6
7
 
7
8
  # OPERATIONS
8
9
  #-----------
@@ -40,7 +40,7 @@ module ChargeBee
40
40
  attr_accessor :id, :customer_id, :subscription_id, :reference_invoice_id, :type, :reason_code,
41
41
  :status, :vat_number, :date, :price_type, :currency_code, :total, :amount_allocated, :amount_refunded,
42
42
  :amount_available, :refunded_at, :voided_at, :generated_at, :resource_version, :updated_at,
43
- :einvoice, :sub_total, :sub_total_in_local_currency, :total_in_local_currency, :local_currency_code,
43
+ :channel, :einvoice, :sub_total, :sub_total_in_local_currency, :total_in_local_currency, :local_currency_code,
44
44
  :round_off_amount, :fractional_correction, :line_items, :discounts, :line_item_discounts, :line_item_tiers,
45
45
  :taxes, :line_item_taxes, :linked_refunds, :allocations, :deleted, :create_reason_code, :vat_number_prefix
46
46
 
@@ -87,5 +87,9 @@ module ChargeBee
87
87
  Request.send('post', uri_path("credit_notes",id.to_s,"delete"), params, env, headers)
88
88
  end
89
89
 
90
+ def self.resend_einvoice(id, env=nil, headers={})
91
+ Request.send('post', uri_path("credit_notes",id.to_s,"resend_einvoice"), {}, env, headers)
92
+ end
93
+
90
94
  end # ~CreditNote
91
95
  end # ~ChargeBee
@@ -41,9 +41,9 @@ module ChargeBee
41
41
  :offline_payment_method, :net_term_days, :vat_number_validated_time, :vat_number_status, :allow_direct_debit,
42
42
  :is_location_valid, :created_at, :created_from_ip, :exemption_details, :taxability, :entity_code,
43
43
  :exempt_number, :resource_version, :updated_at, :locale, :billing_date, :billing_date_mode,
44
- :billing_day_of_week, :billing_day_of_week_mode, :pii_cleared, :auto_close_invoices, :card_status,
45
- :fraud_flag, :primary_payment_source_id, :backup_payment_source_id, :billing_address, :referral_urls,
46
- :contacts, :payment_method, :invoice_notes, :preferred_currency_code, :promotional_credits,
44
+ :billing_day_of_week, :billing_day_of_week_mode, :pii_cleared, :auto_close_invoices, :channel,
45
+ :card_status, :fraud_flag, :primary_payment_source_id, :backup_payment_source_id, :billing_address,
46
+ :referral_urls, :contacts, :payment_method, :invoice_notes, :preferred_currency_code, :promotional_credits,
47
47
  :unbilled_charges, :refundable_credits, :excess_payments, :balances, :entity_identifiers, :is_einvoice_enabled,
48
48
  :meta_data, :deleted, :registered_for_gst, :consolidated_invoicing, :customer_type, :business_customer_without_vat_number,
49
49
  :client_profile_id, :relationship, :use_default_hierarchy_settings, :parent_account_access,
@@ -0,0 +1,23 @@
1
+ module ChargeBee
2
+ class EntitlementOverride < Model
3
+
4
+ class EmbeddedResource < Model
5
+ attr_accessor
6
+ end
7
+
8
+ attr_accessor :id, :entity_id, :entity_type, :feature_id, :feature_name, :value, :name, :expires_at,
9
+ :embedded
10
+
11
+ # OPERATIONS
12
+ #-----------
13
+
14
+ def self.add_entitlement_override_for_subscription(id, params, env=nil, headers={})
15
+ Request.send('post', uri_path("subscriptions",id.to_s,"entitlement_overrides"), params, env, headers)
16
+ end
17
+
18
+ def self.list_entitlement_override_for_subscription(id, params={}, env=nil, headers={})
19
+ Request.send('get', uri_path("subscriptions",id.to_s,"entitlement_overrides"), params, env, headers)
20
+ end
21
+
22
+ end # ~EntitlementOverride
23
+ end # ~ChargeBee
@@ -0,0 +1,47 @@
1
+ module ChargeBee
2
+ class Feature < Model
3
+
4
+ class Level < Model
5
+ attr_accessor :name, :value, :level, :is_unlimited
6
+ end
7
+
8
+ attr_accessor :id, :name, :description, :status, :type, :unit, :resource_version, :updated_at,
9
+ :created_at, :levels
10
+
11
+ # OPERATIONS
12
+ #-----------
13
+
14
+ def self.list(params={}, env=nil, headers={})
15
+ Request.send_list_request('get', uri_path("features"), params, env, headers)
16
+ end
17
+
18
+ def self.create(params, env=nil, headers={})
19
+ Request.send('post', uri_path("features"), params, env, headers)
20
+ end
21
+
22
+ def self.update(id, params={}, env=nil, headers={})
23
+ Request.send('post', uri_path("features",id.to_s), params, env, headers)
24
+ end
25
+
26
+ def self.retrieve(id, env=nil, headers={})
27
+ Request.send('get', uri_path("features",id.to_s), {}, env, headers)
28
+ end
29
+
30
+ def self.delete(id, env=nil, headers={})
31
+ Request.send('post', uri_path("features",id.to_s,"delete"), {}, env, headers)
32
+ end
33
+
34
+ def self.activate(id, env=nil, headers={})
35
+ Request.send('post', uri_path("features",id.to_s,"activate_command"), {}, env, headers)
36
+ end
37
+
38
+ def self.archive(id, env=nil, headers={})
39
+ Request.send('post', uri_path("features",id.to_s,"archive_command"), {}, env, headers)
40
+ end
41
+
42
+ def self.reactivate(id, env=nil, headers={})
43
+ Request.send('post', uri_path("features",id.to_s,"reactivate_command"), {}, env, headers)
44
+ end
45
+
46
+ end # ~Feature
47
+ end # ~ChargeBee
@@ -74,7 +74,7 @@ module ChargeBee
74
74
  :line_items, :discounts, :line_item_discounts, :taxes, :line_item_taxes, :line_item_tiers, :linked_payments,
75
75
  :dunning_attempts, :applied_credits, :adjustment_credit_notes, :issued_credit_notes, :linked_orders,
76
76
  :notes, :shipping_address, :billing_address, :einvoice, :payment_owner, :void_reason_code, :deleted,
77
- :vat_number_prefix
77
+ :vat_number_prefix, :channel
78
78
 
79
79
  # OPERATIONS
80
80
  #-----------
@@ -111,6 +111,10 @@ module ChargeBee
111
111
  Request.send('post', uri_path("invoices",id.to_s,"apply_payments"), params, env, headers)
112
112
  end
113
113
 
114
+ def self.sync_usages(id, env=nil, headers={})
115
+ Request.send('post', uri_path("invoices",id.to_s,"sync_usages"), {}, env, headers)
116
+ end
117
+
114
118
  def self.apply_credits(id, params={}, env=nil, headers={})
115
119
  Request.send('post', uri_path("invoices",id.to_s,"apply_credits"), params, env, headers)
116
120
  end
@@ -195,5 +199,9 @@ module ChargeBee
195
199
  Request.send('post', uri_path("invoices",id.to_s,"update_details"), params, env, headers)
196
200
  end
197
201
 
202
+ def self.resend_einvoice(id, env=nil, headers={})
203
+ Request.send('post', uri_path("invoices",id.to_s,"resend_einvoice"), {}, env, headers)
204
+ end
205
+
198
206
  end # ~Invoice
199
207
  end # ~ChargeBee
@@ -5,10 +5,10 @@ module ChargeBee
5
5
  attr_accessor :id
6
6
  end
7
7
 
8
- attr_accessor :id, :name, :description, :status, :resource_version, :updated_at, :item_family_id,
9
- :type, :is_shippable, :is_giftable, :redirect_url, :enabled_for_checkout, :enabled_in_portal,
8
+ attr_accessor :id, :name, :external_name, :description, :status, :resource_version, :updated_at,
9
+ :item_family_id, :type, :is_shippable, :is_giftable, :redirect_url, :enabled_for_checkout, :enabled_in_portal,
10
10
  :included_in_mrr, :item_applicability, :gift_claim_redirect_url, :unit, :metered, :usage_calculation,
11
- :archived_at, :applicable_items, :metadata
11
+ :archived_at, :channel, :applicable_items, :metadata
12
12
 
13
13
  # OPERATIONS
14
14
  #-----------
@@ -0,0 +1,30 @@
1
+ module ChargeBee
2
+ class ItemEntitlement < Model
3
+
4
+ class EmbeddedResource < Model
5
+ attr_accessor
6
+ end
7
+
8
+ attr_accessor :id, :item_id, :item_type, :feature_id, :feature_name, :value, :name, :embedded
9
+
10
+ # OPERATIONS
11
+ #-----------
12
+
13
+ def self.item_entitlements_for_item(id, params={}, env=nil, headers={})
14
+ Request.send('get', uri_path("items",id.to_s,"item_entitlements"), params, env, headers)
15
+ end
16
+
17
+ def self.item_entitlements_for_feature(id, params={}, env=nil, headers={})
18
+ Request.send('get', uri_path("features",id.to_s,"item_entitlements"), params, env, headers)
19
+ end
20
+
21
+ def self.add_item_entitlements(id, params, env=nil, headers={})
22
+ Request.send('post', uri_path("features",id.to_s,"item_entitlements"), params, env, headers)
23
+ end
24
+
25
+ def self.upsert_or_remove_item_entitlements_for_item(id, params, env=nil, headers={})
26
+ Request.send('post', uri_path("items",id.to_s,"item_entitlements"), params, env, headers)
27
+ end
28
+
29
+ end # ~ItemEntitlement
30
+ end # ~ChargeBee
@@ -1,7 +1,7 @@
1
1
  module ChargeBee
2
2
  class ItemFamily < Model
3
3
 
4
- attr_accessor :id, :name, :description, :status, :resource_version, :updated_at
4
+ attr_accessor :id, :name, :description, :status, :resource_version, :updated_at, :channel
5
5
 
6
6
  # OPERATIONS
7
7
  #-----------
@@ -16,9 +16,9 @@ module ChargeBee
16
16
  attr_accessor :id, :name, :item_family_id, :item_id, :description, :status, :external_name,
17
17
  :pricing_model, :price, :price_in_decimal, :period, :currency_code, :period_unit, :trial_period,
18
18
  :trial_period_unit, :trial_end_action, :shipping_period, :shipping_period_unit, :billing_cycles,
19
- :free_quantity, :free_quantity_in_decimal, :resource_version, :updated_at, :created_at, :archived_at,
20
- :invoice_notes, :tiers, :is_taxable, :tax_detail, :accounting_detail, :metadata, :item_type,
21
- :archivable, :parent_item_id, :show_description_in_invoices, :show_description_in_quotes
19
+ :free_quantity, :free_quantity_in_decimal, :channel, :resource_version, :updated_at, :created_at,
20
+ :archived_at, :invoice_notes, :tiers, :is_taxable, :tax_detail, :accounting_detail, :metadata,
21
+ :item_type, :archivable, :parent_item_id, :show_description_in_invoices, :show_description_in_quotes
22
22
 
23
23
  # OPERATIONS
24
24
  #-----------
@@ -24,8 +24,8 @@ module ChargeBee
24
24
  :avalara_transaction_type, :avalara_service_type, :sku, :accounting_code, :accounting_category1,
25
25
  :accounting_category2, :accounting_category3, :accounting_category4, :is_shippable, :shipping_frequency_period,
26
26
  :shipping_frequency_period_unit, :resource_version, :updated_at, :giftable, :claim_url, :free_quantity_in_decimal,
27
- :price_in_decimal, :invoice_notes, :taxable, :tax_profile_id, :meta_data, :tiers, :applicable_addons,
28
- :attached_addons, :event_based_addons, :show_description_in_invoices, :show_description_in_quotes
27
+ :price_in_decimal, :channel, :invoice_notes, :taxable, :tax_profile_id, :meta_data, :tiers,
28
+ :applicable_addons, :attached_addons, :event_based_addons, :show_description_in_invoices, :show_description_in_quotes
29
29
 
30
30
  # OPERATIONS
31
31
  #-----------
@@ -49,7 +49,7 @@ module ChargeBee
49
49
  :override_relationship, :pause_date, :resume_date, :cancelled_at, :cancel_reason, :affiliate_token,
50
50
  :created_from_ip, :resource_version, :updated_at, :has_scheduled_advance_invoices, :has_scheduled_changes,
51
51
  :payment_source_id, :plan_free_quantity_in_decimal, :plan_amount_in_decimal, :cancel_schedule_created_at,
52
- :offline_payment_method, :net_term_days, :subscription_items, :item_tiers, :charged_items,
52
+ :offline_payment_method, :channel, :net_term_days, :subscription_items, :item_tiers, :charged_items,
53
53
  :due_invoices_count, :due_since, :total_dues, :mrr, :exchange_rate, :base_currency_code, :addons,
54
54
  :event_based_addons, :charged_event_based_addons, :coupon, :coupons, :shipping_address, :referral_info,
55
55
  :invoice_notes, :meta_data, :metadata, :deleted, :changes_scheduled_at, :contract_term, :cancel_reason_code,
@@ -0,0 +1,27 @@
1
+ module ChargeBee
2
+ class SubscriptionEntitlement < Model
3
+
4
+ class Component < Model
5
+ attr_accessor
6
+ end
7
+
8
+ class EmbeddedResource < Model
9
+ attr_accessor
10
+ end
11
+
12
+ attr_accessor :id, :subscription_id, :feature_id, :feature_name, :feature_unit, :value, :name,
13
+ :is_overridden, :is_enabled, :expires_at, :components, :embedded
14
+
15
+ # OPERATIONS
16
+ #-----------
17
+
18
+ def self.subscription_entitlements_for_subscription(id, params={}, env=nil, headers={})
19
+ Request.send('get', uri_path("subscriptions",id.to_s,"subscription_entitlements"), params, env, headers)
20
+ end
21
+
22
+ def self.set_subscription_entitlement_availability(id, params, env=nil, headers={})
23
+ Request.send('post', uri_path("subscriptions",id.to_s,"subscription_entitlements/set_availability"), params, env, headers)
24
+ end
25
+
26
+ end # ~SubscriptionEntitlement
27
+ end # ~ChargeBee
@@ -13,6 +13,10 @@ module ChargeBee
13
13
  # OPERATIONS
14
14
  #-----------
15
15
 
16
+ def self.create_unbilled_charge(params, env=nil, headers={})
17
+ Request.send('post', uri_path("unbilled_charges","create"), params, env, headers)
18
+ end
19
+
16
20
  def self.create(params, env=nil, headers={})
17
21
  Request.send('post', uri_path("unbilled_charges"), params, env, headers)
18
22
  end
@@ -272,6 +272,30 @@ module ChargeBee
272
272
  return differential_price;
273
273
  end
274
274
 
275
+ def feature()
276
+ feature = get(:feature, Feature,
277
+ {:levels => Feature::Level});
278
+ return feature;
279
+ end
280
+
281
+ def subscription_entitlement()
282
+ subscription_entitlement = get(:subscription_entitlement, SubscriptionEntitlement,
283
+ {:component => SubscriptionEntitlement::Component, :embedded_resource => SubscriptionEntitlement::EmbeddedResource});
284
+ return subscription_entitlement;
285
+ end
286
+
287
+ def item_entitlement()
288
+ item_entitlement = get(:item_entitlement, ItemEntitlement,
289
+ {:embedded_resource => ItemEntitlement::EmbeddedResource});
290
+ return item_entitlement;
291
+ end
292
+
293
+ def entitlement_override()
294
+ entitlement_override = get(:entitlement_override, EntitlementOverride,
295
+ {:embedded_resource => EntitlementOverride::EmbeddedResource});
296
+ return entitlement_override;
297
+ end
298
+
275
299
 
276
300
  def unbilled_charges()
277
301
  unbilled_charges = get_list(:unbilled_charges, UnbilledCharge,
@@ -6,21 +6,8 @@ module ChargeBee
6
6
  case value
7
7
  when Hash
8
8
  value.each do |k, v|
9
- if(v.kind_of? Hash)
9
+ if(v.kind_of? Hash or v.kind_of? Array)
10
10
  serialized.merge!(serialize(v, k))
11
- elsif(v.kind_of? Array)
12
- arrayContainsValue = false
13
- v.each_with_index do |v1, i1|
14
- if(v1.kind_of? Hash)
15
- serialized.merge!(serialize(v1, k, i1))
16
- else
17
- arrayContainsValue = true
18
- end
19
- end
20
- if(arrayContainsValue == true)
21
- key = "#{(prefix!=nil) ? prefix:''}#{(prefix!=nil) ? '['+k.to_s+']' : k}#{(idx != nil) ? '['+idx.to_s+']':''}"
22
- serialized.merge!({key => as_str(v)})
23
- end
24
11
  else
25
12
  key = "#{(prefix!=nil) ? prefix:''}#{(prefix!=nil) ? '['+k.to_s+']' : k}#{(idx != nil) ? '['+idx.to_s+']':''}"
26
13
  serialized.merge!({key => as_str(v)})
@@ -31,12 +18,12 @@ module ChargeBee
31
18
  serialized.merge!(serialize(v, prefix, i))
32
19
  end
33
20
  else
34
- if(idx != nil and prefix != nil)
21
+ if(idx != nil and prefix != nil)
35
22
  key = "#{prefix}[#{idx.to_s}]"
36
23
  serialized.merge!({key => as_str(value)})
37
- else
24
+ else
38
25
  raise ArgumentError.new("only hash or arrays are allowed as value")
39
- end
26
+ end
40
27
  end
41
28
  serialized
42
29
  end
data/lib/chargebee.rb CHANGED
@@ -53,7 +53,7 @@ require File.dirname(__FILE__) + '/chargebee/models/usage.rb'
53
53
 
54
54
  module ChargeBee
55
55
 
56
- VERSION = '2.14.0'
56
+ VERSION = '2.16.0'
57
57
 
58
58
  @@default_env = nil
59
59
  @@verify_ca_certs = true
@@ -23,20 +23,20 @@ describe "chargebee" do
23
23
  :cvv => "007"
24
24
  }
25
25
  }
26
- after = {
27
- "id"=>"sub_KyVq7DNSNM7CSD",
28
- "plan_id"=>"free",
29
- "addons[id][0]"=>"monitor",
30
- "addons[quantity][0]"=>"2",
31
- "addons[id][1]"=>"ssl",
32
- "addon_ids"=>"[\"addon_one\", \"addon_two\"]",
33
- "card[first_name]"=>"Rajaraman",
34
- "card[last_name]"=>"Santhanam",
35
- "card[number]"=>"4111111111111111",
36
- "card[expiry_month]"=>"1",
37
- "card[expiry_year]"=>"2024",
38
- "card[cvv]"=>"007"
39
- }
26
+ after = {
27
+ "id"=>"sub_KyVq7DNSNM7CSD",
28
+ "plan_id"=>"free",
29
+ "addons[id][0]"=>"monitor",
30
+ "addons[quantity][0]"=>"2",
31
+ "addons[id][1]"=>"ssl",
32
+ "addon_ids[0]"=>"addon_one",
33
+ "addon_ids[1]"=>"addon_two",
34
+ "card[first_name]"=>"Rajaraman",
35
+ "card[last_name]"=>"Santhanam",
36
+ "card[number]"=>"4111111111111111",
37
+ "card[expiry_month]"=>"1",
38
+ "card[expiry_year]"=>"2024",
39
+ "card[cvv]"=>"007"}
40
40
  expect(ChargeBee::Util.serialize(before)).to eq(after)
41
41
  end
42
42
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chargebee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.14.0
4
+ version: 2.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rajaraman S
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-03-14 00:00:00.000000000 Z
12
+ date: 2022-05-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json_pure
@@ -128,15 +128,18 @@ files:
128
128
  - lib/chargebee/models/customer.rb
129
129
  - lib/chargebee/models/differential_price.rb
130
130
  - lib/chargebee/models/download.rb
131
+ - lib/chargebee/models/entitlement_override.rb
131
132
  - lib/chargebee/models/estimate.rb
132
133
  - lib/chargebee/models/event.rb
133
134
  - lib/chargebee/models/export.rb
135
+ - lib/chargebee/models/feature.rb
134
136
  - lib/chargebee/models/gift.rb
135
137
  - lib/chargebee/models/hierarchy.rb
136
138
  - lib/chargebee/models/hosted_page.rb
137
139
  - lib/chargebee/models/invoice.rb
138
140
  - lib/chargebee/models/invoice_estimate.rb
139
141
  - lib/chargebee/models/item.rb
142
+ - lib/chargebee/models/item_entitlement.rb
140
143
  - lib/chargebee/models/item_family.rb
141
144
  - lib/chargebee/models/item_price.rb
142
145
  - lib/chargebee/models/model.rb
@@ -153,6 +156,7 @@ files:
153
156
  - lib/chargebee/models/resource_migration.rb
154
157
  - lib/chargebee/models/site_migration_detail.rb
155
158
  - lib/chargebee/models/subscription.rb
159
+ - lib/chargebee/models/subscription_entitlement.rb
156
160
  - lib/chargebee/models/subscription_estimate.rb
157
161
  - lib/chargebee/models/tax_withheld.rb
158
162
  - lib/chargebee/models/third_party_payment_method.rb