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.
- checksums.yaml +4 -4
- data/lib/clerk/billing.rb +170 -0
- data/lib/clerk/instancesettings.rb +261 -1
- data/lib/clerk/models/components/commercepriceresponse.rb +76 -0
- data/lib/clerk/models/components/commercepriceresponse.rbi +35 -0
- data/lib/clerk/models/components/commercepriceresponse_object.rb +22 -0
- data/lib/clerk/models/components/commercepriceresponse_object.rbi +11 -0
- data/lib/clerk/models/components/commercepricetransitiondetails.rb +64 -0
- data/lib/clerk/models/components/commercepricetransitiondetails.rbi +29 -0
- data/lib/clerk/models/components/commercepricetransitionresponse.rb +40 -0
- data/lib/clerk/models/components/commercepricetransitionresponse.rbi +17 -0
- data/lib/clerk/models/components/commercepricetransitionresponse_object.rb +22 -0
- data/lib/clerk/models/components/commercepricetransitionresponse_object.rbi +11 -0
- data/lib/clerk/models/components/effective_mode.rb +23 -0
- data/lib/clerk/models/components/effective_mode.rbi +11 -0
- data/lib/clerk/models/components/immediate_charge.rb +44 -0
- data/lib/clerk/models/components/immediate_charge.rbi +19 -0
- data/lib/clerk/models/components/instanceprotect.rb +40 -0
- data/lib/clerk/models/components/instanceprotect.rbi +17 -0
- data/lib/clerk/models/components/instanceprotect_object.rb +22 -0
- data/lib/clerk/models/components/instanceprotect_object.rbi +11 -0
- data/lib/clerk/models/components/previous_subscription_item_status.rb +24 -0
- data/lib/clerk/models/components/previous_subscription_item_status.rbi +11 -0
- data/lib/clerk/models/components/pricetransitionrequest.rb +36 -0
- data/lib/clerk/models/components/pricetransitionrequest.rbi +15 -0
- data/lib/clerk/models/components/schemas_commerceplan.rb +144 -0
- data/lib/clerk/models/components/schemas_commerceplan.rbi +69 -0
- data/lib/clerk/models/components/schemas_commerceplan_object.rb +22 -0
- data/lib/clerk/models/components/schemas_commerceplan_object.rbi +11 -0
- data/lib/clerk/models/components.rb +13 -0
- data/lib/clerk/models/operations/createbillingpricetransition_request.rb +36 -0
- data/lib/clerk/models/operations/createbillingpricetransition_request.rbi +15 -0
- data/lib/clerk/models/operations/createbillingpricetransition_response.rb +44 -0
- data/lib/clerk/models/operations/createbillingpricetransition_response.rbi +19 -0
- data/lib/clerk/models/operations/createuser_request.rb +1 -1
- data/lib/clerk/models/operations/getinstanceprotect_response.rb +44 -0
- data/lib/clerk/models/operations/getinstanceprotect_response.rbi +19 -0
- data/lib/clerk/models/operations/updateinstanceprotect_request.rb +36 -0
- data/lib/clerk/models/operations/updateinstanceprotect_request.rbi +15 -0
- data/lib/clerk/models/operations/updateinstanceprotect_response.rb +44 -0
- data/lib/clerk/models/operations/updateinstanceprotect_response.rbi +19 -0
- data/lib/clerk/models/operations/updateuser_requestbody.rb +1 -1
- data/lib/clerk/models/operations.rb +5 -0
- data/lib/clerk/sdkconfiguration.rb +3 -3
- data/lib/clerk/users.rb +3 -3
- 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,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,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,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
|