clerk-sdk-ruby 5.0.0.pre.beta → 5.0.0.pre.beta.1

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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/clerk/billing.rb +170 -0
  3. data/lib/clerk/instancesettings.rb +261 -1
  4. data/lib/clerk/models/components/commercepriceresponse.rb +76 -0
  5. data/lib/clerk/models/components/commercepriceresponse.rbi +35 -0
  6. data/lib/clerk/models/components/commercepriceresponse_object.rb +22 -0
  7. data/lib/clerk/models/components/commercepriceresponse_object.rbi +11 -0
  8. data/lib/clerk/models/components/commercepricetransitiondetails.rb +64 -0
  9. data/lib/clerk/models/components/commercepricetransitiondetails.rbi +29 -0
  10. data/lib/clerk/models/components/commercepricetransitionresponse.rb +40 -0
  11. data/lib/clerk/models/components/commercepricetransitionresponse.rbi +17 -0
  12. data/lib/clerk/models/components/commercepricetransitionresponse_object.rb +22 -0
  13. data/lib/clerk/models/components/commercepricetransitionresponse_object.rbi +11 -0
  14. data/lib/clerk/models/components/effective_mode.rb +23 -0
  15. data/lib/clerk/models/components/effective_mode.rbi +11 -0
  16. data/lib/clerk/models/components/immediate_charge.rb +44 -0
  17. data/lib/clerk/models/components/immediate_charge.rbi +19 -0
  18. data/lib/clerk/models/components/instanceprotect.rb +40 -0
  19. data/lib/clerk/models/components/instanceprotect.rbi +17 -0
  20. data/lib/clerk/models/components/instanceprotect_object.rb +22 -0
  21. data/lib/clerk/models/components/instanceprotect_object.rbi +11 -0
  22. data/lib/clerk/models/components/previous_subscription_item_status.rb +24 -0
  23. data/lib/clerk/models/components/previous_subscription_item_status.rbi +11 -0
  24. data/lib/clerk/models/components/pricetransitionrequest.rb +36 -0
  25. data/lib/clerk/models/components/pricetransitionrequest.rbi +15 -0
  26. data/lib/clerk/models/components/schemas_commerceplan.rb +144 -0
  27. data/lib/clerk/models/components/schemas_commerceplan.rbi +69 -0
  28. data/lib/clerk/models/components/schemas_commerceplan_object.rb +22 -0
  29. data/lib/clerk/models/components/schemas_commerceplan_object.rbi +11 -0
  30. data/lib/clerk/models/components.rb +13 -0
  31. data/lib/clerk/models/operations/createbillingpricetransition_request.rb +36 -0
  32. data/lib/clerk/models/operations/createbillingpricetransition_request.rbi +15 -0
  33. data/lib/clerk/models/operations/createbillingpricetransition_response.rb +44 -0
  34. data/lib/clerk/models/operations/createbillingpricetransition_response.rbi +19 -0
  35. data/lib/clerk/models/operations/createuser_request.rb +1 -1
  36. data/lib/clerk/models/operations/getinstanceprotect_response.rb +44 -0
  37. data/lib/clerk/models/operations/getinstanceprotect_response.rbi +19 -0
  38. data/lib/clerk/models/operations/updateinstanceprotect_request.rb +36 -0
  39. data/lib/clerk/models/operations/updateinstanceprotect_request.rbi +15 -0
  40. data/lib/clerk/models/operations/updateinstanceprotect_response.rb +44 -0
  41. data/lib/clerk/models/operations/updateinstanceprotect_response.rbi +19 -0
  42. data/lib/clerk/models/operations/updateuser_requestbody.rb +1 -1
  43. data/lib/clerk/models/operations.rb +5 -0
  44. data/lib/clerk/sdkconfiguration.rb +3 -3
  45. data/lib/clerk/users.rb +3 -3
  46. metadata +38 -2
@@ -0,0 +1,29 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::CommercePriceTransitionDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::CommercePriceTransitionDetails
11
+ def previous_plan(); end
12
+ def previous_plan=(str_); end
13
+ def previous_price(); end
14
+ def previous_price=(str_); end
15
+ def effective_at(); end
16
+ def effective_at=(str_); end
17
+ def effective_mode(); end
18
+ def effective_mode=(str_); end
19
+ def charged_immediately(); end
20
+ def charged_immediately=(str_); end
21
+ def previous_subscription_item_status(); end
22
+ def previous_subscription_item_status=(str_); end
23
+ def previous_subscription_item_id(); end
24
+ def previous_subscription_item_id=(str_); end
25
+ def next_billing_date(); end
26
+ def next_billing_date=(str_); end
27
+ def immediate_charge(); end
28
+ def immediate_charge=(str_); end
29
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # A commerce price transition.
11
+ class CommercePriceTransitionResponse
12
+
13
+ include Crystalline::MetadataFields
14
+
15
+ # String representing the object's type. Objects of the same type share the same value.
16
+ field :object, Models::Components::CommercePriceTransitionResponseObject, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('object'), required: true, 'decoder': Utils.enum_from_string(Models::Components::CommercePriceTransitionResponseObject, false) } }
17
+
18
+ field :subscription_item, Models::Components::SchemasCommerceSubscriptionItem, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('subscription_item'), required: true } }
19
+
20
+ field :transition, Models::Components::CommercePriceTransitionDetails, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('transition'), required: true } }
21
+
22
+
23
+ def initialize(object:, subscription_item:, transition:)
24
+ @object = object
25
+ @subscription_item = subscription_item
26
+ @transition = transition
27
+ end
28
+
29
+
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @object == other.object
33
+ return false unless @subscription_item == other.subscription_item
34
+ return false unless @transition == other.transition
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::CommercePriceTransitionResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::CommercePriceTransitionResponse
11
+ def object(); end
12
+ def object=(str_); end
13
+ def subscription_item(); end
14
+ def subscription_item=(str_); end
15
+ def transition(); end
16
+ def transition=(str_); end
17
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # CommercePriceTransitionResponseObject - String representing the object's type. Objects of the same type share the same value.
11
+ class CommercePriceTransitionResponseObject
12
+
13
+
14
+ include ::Crystalline::Enum
15
+
16
+ enums do
17
+ COMMERCE_PRICE_TRANSITION = new('commerce_price_transition')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::CommercePriceTransitionResponseObject
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::CommercePriceTransitionResponseObject
11
+ end
@@ -0,0 +1,23 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # EffectiveMode - When the new price takes effect.
11
+ class EffectiveMode
12
+
13
+
14
+ include ::Crystalline::Enum
15
+
16
+ enums do
17
+ IMMEDIATE = new('immediate')
18
+ END_OF_PERIOD = new('end_of_period')
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,11 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::EffectiveMode
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::EffectiveMode
11
+ end
@@ -0,0 +1,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # Amount charged immediately, if any.
11
+ class ImmediateCharge
12
+
13
+ include Crystalline::MetadataFields
14
+
15
+ # The amount in cents.
16
+ field :amount, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('amount'), required: true } }
17
+ # The formatted amount as a string (e.g., "$49.99").
18
+ field :amount_formatted, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('amount_formatted'), required: true } }
19
+ # The currency code (e.g., "USD").
20
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('currency'), required: true } }
21
+ # The currency symbol (e.g., "$").
22
+ field :currency_symbol, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('currency_symbol'), required: true } }
23
+
24
+
25
+ def initialize(amount:, amount_formatted:, currency:, currency_symbol:)
26
+ @amount = amount
27
+ @amount_formatted = amount_formatted
28
+ @currency = currency
29
+ @currency_symbol = currency_symbol
30
+ end
31
+
32
+
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @amount == other.amount
36
+ return false unless @amount_formatted == other.amount_formatted
37
+ return false unless @currency == other.currency
38
+ return false unless @currency_symbol == other.currency_symbol
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::ImmediateCharge
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::ImmediateCharge
11
+ def amount(); end
12
+ def amount=(str_); end
13
+ def amount_formatted(); end
14
+ def amount_formatted=(str_); end
15
+ def currency(); end
16
+ def currency=(str_); end
17
+ def currency_symbol(); end
18
+ def currency_symbol=(str_); end
19
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # Success
11
+ class InstanceProtect
12
+
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :object, Models::Components::InstanceProtectObject, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('object'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InstanceProtectObject, false) } }
17
+
18
+ field :rules_enabled, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('rules_enabled'), required: true } }
19
+
20
+ field :specter_enabled, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('specter_enabled'), required: true } }
21
+
22
+
23
+ def initialize(object:, rules_enabled:, specter_enabled:)
24
+ @object = object
25
+ @rules_enabled = rules_enabled
26
+ @specter_enabled = specter_enabled
27
+ end
28
+
29
+
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @object == other.object
33
+ return false unless @rules_enabled == other.rules_enabled
34
+ return false unless @specter_enabled == other.specter_enabled
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::InstanceProtect
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::InstanceProtect
11
+ def object(); end
12
+ def object=(str_); end
13
+ def rules_enabled(); end
14
+ def rules_enabled=(str_); end
15
+ def specter_enabled(); end
16
+ def specter_enabled=(str_); end
17
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+
11
+ class InstanceProtectObject
12
+
13
+
14
+ include ::Crystalline::Enum
15
+
16
+ enums do
17
+ INSTANCE_PROTECT = new('instance_protect')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::InstanceProtectObject
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::InstanceProtectObject
11
+ end
@@ -0,0 +1,24 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # PreviousSubscriptionItemStatus - The status of the previous subscription item after transition.
11
+ class PreviousSubscriptionItemStatus
12
+
13
+
14
+ include ::Crystalline::Enum
15
+
16
+ enums do
17
+ CANCELED = new('canceled')
18
+ ENDED = new('ended')
19
+ ABANDONED = new('abandoned')
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::PreviousSubscriptionItemStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::PreviousSubscriptionItemStatus
11
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+
11
+ class PriceTransitionRequest
12
+
13
+ include Crystalline::MetadataFields
14
+
15
+ # The current price ID of the subscription item.
16
+ field :from_price_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('from_price_id'), required: true } }
17
+ # The target price ID to transition to.
18
+ field :to_price_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('to_price_id'), required: true } }
19
+
20
+
21
+ def initialize(from_price_id:, to_price_id:)
22
+ @from_price_id = from_price_id
23
+ @to_price_id = to_price_id
24
+ end
25
+
26
+
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @from_price_id == other.from_price_id
30
+ return false unless @to_price_id == other.to_price_id
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::PriceTransitionRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::PriceTransitionRequest
11
+ def from_price_id(); end
12
+ def from_price_id=(str_); end
13
+ def to_price_id(); end
14
+ def to_price_id=(str_); end
15
+ end
@@ -0,0 +1,144 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+
11
+ class SchemasCommercePlan
12
+
13
+ include Crystalline::MetadataFields
14
+
15
+ # String representing the object's type. Objects of the same type share the same value.
16
+ field :object, Models::Components::SchemasCommercePlanObject, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('object'), required: true, 'decoder': Utils.enum_from_string(Models::Components::SchemasCommercePlanObject, false) } }
17
+ # Unique identifier for the commerce plan.
18
+ field :id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('id'), required: true } }
19
+ # The name of the commerce plan.
20
+ field :name, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('name'), required: true } }
21
+
22
+ field :fee, Models::Components::CommerceMoneyResponse, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('fee'), required: true } }
23
+
24
+ field :annual_monthly_fee, Models::Components::CommerceMoneyResponse, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('annual_monthly_fee'), required: true } }
25
+
26
+ field :annual_fee, Models::Components::CommerceMoneyResponse, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('annual_fee'), required: true } }
27
+ # The amount in cents for the plan.
28
+ field :amount, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('amount'), required: true } }
29
+ # The formatted amount as a string (e.g., "$49.99").
30
+ field :amount_formatted, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('amount_formatted'), required: true } }
31
+ # The monthly amount in cents when billed annually.
32
+ field :annual_monthly_amount, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('annual_monthly_amount'), required: true } }
33
+ # The formatted annual monthly amount as a string.
34
+ field :annual_monthly_amount_formatted, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('annual_monthly_amount_formatted'), required: true } }
35
+ # The total annual amount in cents.
36
+ field :annual_amount, ::Integer, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('annual_amount'), required: true } }
37
+ # The formatted annual amount as a string.
38
+ field :annual_amount_formatted, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('annual_amount_formatted'), required: true } }
39
+ # The currency symbol (e.g., "$").
40
+ field :currency_symbol, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('currency_symbol'), required: true } }
41
+ # The currency code (e.g., "USD").
42
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('currency'), required: true } }
43
+ # The description of the commerce plan.
44
+ field :description, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('description'), required: true } }
45
+ # The ID of the product this plan belongs to.
46
+ field :product_id, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('product_id'), required: true } }
47
+ # Whether this is the default plan.
48
+ field :is_default, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('is_default'), required: true } }
49
+ # Whether this is a recurring plan.
50
+ field :is_recurring, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('is_recurring'), required: true } }
51
+ # Whether this plan is publicly visible.
52
+ field :publicly_visible, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('publicly_visible'), required: true } }
53
+ # Whether this plan has a base fee.
54
+ field :has_base_fee, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('has_base_fee'), required: true } }
55
+ # The types of payers that can use this plan.
56
+ field :payer_type, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('payer_type'), required: true } }
57
+ # The payer type this plan is designed for.
58
+ field :for_payer_type, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('for_payer_type'), required: true } }
59
+ # The URL-friendly slug for the plan.
60
+ field :slug, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('slug'), required: true } }
61
+ # The URL of the plan's avatar image.
62
+ field :avatar_url, ::String, { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('avatar_url'), required: true } }
63
+ # The features included in this plan.
64
+ field :features, Crystalline::Array.new(Models::Components::SchemasFeatureResponse), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('features'), required: true } }
65
+ # The billing period for the plan.
66
+ field :period, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('period') } }
67
+ # The billing interval.
68
+ field :interval, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('interval') } }
69
+ # Whether free trial is enabled for this plan.
70
+ field :free_trial_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('free_trial_enabled') } }
71
+ # Number of free trial days for this plan.
72
+ field :free_trial_days, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('free_trial_days') } }
73
+
74
+
75
+ def initialize(object:, id:, name:, fee:, annual_monthly_fee:, annual_fee:, amount:, amount_formatted:, annual_monthly_amount:, annual_monthly_amount_formatted:, annual_amount:, annual_amount_formatted:, currency_symbol:, currency:, description:, product_id:, is_default:, is_recurring:, publicly_visible:, has_base_fee:, payer_type:, for_payer_type:, slug:, avatar_url:, features:, period: nil, interval: nil, free_trial_enabled: nil, free_trial_days: nil)
76
+ @object = object
77
+ @id = id
78
+ @name = name
79
+ @fee = fee
80
+ @annual_monthly_fee = annual_monthly_fee
81
+ @annual_fee = annual_fee
82
+ @amount = amount
83
+ @amount_formatted = amount_formatted
84
+ @annual_monthly_amount = annual_monthly_amount
85
+ @annual_monthly_amount_formatted = annual_monthly_amount_formatted
86
+ @annual_amount = annual_amount
87
+ @annual_amount_formatted = annual_amount_formatted
88
+ @currency_symbol = currency_symbol
89
+ @currency = currency
90
+ @description = description
91
+ @product_id = product_id
92
+ @is_default = is_default
93
+ @is_recurring = is_recurring
94
+ @publicly_visible = publicly_visible
95
+ @has_base_fee = has_base_fee
96
+ @payer_type = payer_type
97
+ @for_payer_type = for_payer_type
98
+ @slug = slug
99
+ @avatar_url = avatar_url
100
+ @features = features
101
+ @period = period
102
+ @interval = interval
103
+ @free_trial_enabled = free_trial_enabled
104
+ @free_trial_days = free_trial_days
105
+ end
106
+
107
+
108
+ def ==(other)
109
+ return false unless other.is_a? self.class
110
+ return false unless @object == other.object
111
+ return false unless @id == other.id
112
+ return false unless @name == other.name
113
+ return false unless @fee == other.fee
114
+ return false unless @annual_monthly_fee == other.annual_monthly_fee
115
+ return false unless @annual_fee == other.annual_fee
116
+ return false unless @amount == other.amount
117
+ return false unless @amount_formatted == other.amount_formatted
118
+ return false unless @annual_monthly_amount == other.annual_monthly_amount
119
+ return false unless @annual_monthly_amount_formatted == other.annual_monthly_amount_formatted
120
+ return false unless @annual_amount == other.annual_amount
121
+ return false unless @annual_amount_formatted == other.annual_amount_formatted
122
+ return false unless @currency_symbol == other.currency_symbol
123
+ return false unless @currency == other.currency
124
+ return false unless @description == other.description
125
+ return false unless @product_id == other.product_id
126
+ return false unless @is_default == other.is_default
127
+ return false unless @is_recurring == other.is_recurring
128
+ return false unless @publicly_visible == other.publicly_visible
129
+ return false unless @has_base_fee == other.has_base_fee
130
+ return false unless @payer_type == other.payer_type
131
+ return false unless @for_payer_type == other.for_payer_type
132
+ return false unless @slug == other.slug
133
+ return false unless @avatar_url == other.avatar_url
134
+ return false unless @features == other.features
135
+ return false unless @period == other.period
136
+ return false unless @interval == other.interval
137
+ return false unless @free_trial_enabled == other.free_trial_enabled
138
+ return false unless @free_trial_days == other.free_trial_days
139
+ true
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,69 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::SchemasCommercePlan
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::SchemasCommercePlan
11
+ def object(); end
12
+ def object=(str_); end
13
+ def id(); end
14
+ def id=(str_); end
15
+ def name(); end
16
+ def name=(str_); end
17
+ def fee(); end
18
+ def fee=(str_); end
19
+ def annual_monthly_fee(); end
20
+ def annual_monthly_fee=(str_); end
21
+ def annual_fee(); end
22
+ def annual_fee=(str_); end
23
+ def amount(); end
24
+ def amount=(str_); end
25
+ def amount_formatted(); end
26
+ def amount_formatted=(str_); end
27
+ def annual_monthly_amount(); end
28
+ def annual_monthly_amount=(str_); end
29
+ def annual_monthly_amount_formatted(); end
30
+ def annual_monthly_amount_formatted=(str_); end
31
+ def annual_amount(); end
32
+ def annual_amount=(str_); end
33
+ def annual_amount_formatted(); end
34
+ def annual_amount_formatted=(str_); end
35
+ def currency_symbol(); end
36
+ def currency_symbol=(str_); end
37
+ def currency(); end
38
+ def currency=(str_); end
39
+ def description(); end
40
+ def description=(str_); end
41
+ def product_id(); end
42
+ def product_id=(str_); end
43
+ def is_default(); end
44
+ def is_default=(str_); end
45
+ def is_recurring(); end
46
+ def is_recurring=(str_); end
47
+ def publicly_visible(); end
48
+ def publicly_visible=(str_); end
49
+ def has_base_fee(); end
50
+ def has_base_fee=(str_); end
51
+ def payer_type(); end
52
+ def payer_type=(str_); end
53
+ def for_payer_type(); end
54
+ def for_payer_type=(str_); end
55
+ def slug(); end
56
+ def slug=(str_); end
57
+ def avatar_url(); end
58
+ def avatar_url=(str_); end
59
+ def features(); end
60
+ def features=(str_); end
61
+ def period(); end
62
+ def period=(str_); end
63
+ def interval(); end
64
+ def interval=(str_); end
65
+ def free_trial_enabled(); end
66
+ def free_trial_enabled=(str_); end
67
+ def free_trial_days(); end
68
+ def free_trial_days=(str_); end
69
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: false
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Clerk
8
+ module Models
9
+ module Components
10
+ # SchemasCommercePlanObject - String representing the object's type. Objects of the same type share the same value.
11
+ class SchemasCommercePlanObject
12
+
13
+
14
+ include ::Crystalline::Enum
15
+
16
+ enums do
17
+ COMMERCE_PLAN = new('commerce_plan')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Clerk::Models::Components::SchemasCommercePlanObject
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Clerk::Models::Components::SchemasCommercePlanObject
11
+ end