Class: Lago::Api::Resources::Subscription
- Inherits:
-
Base
- Object
- Base
- Lago::Api::Resources::Subscription
show all
- Defined in:
- lib/lago/api/resources/subscription.rb
Instance Attribute Summary
Attributes inherited from Base
#client
Instance Method Summary
collapse
Methods inherited from Base
#create, #destroy, #get, #get_all, #initialize, #update
Instance Method Details
#api_resource ⇒ Object
7
8
9
|
# File 'lib/lago/api/resources/subscription.rb', line 7
def api_resource
'subscriptions'
end
|
#lifetime_usage(external_subscription_id) ⇒ Object
15
16
17
18
19
20
21
|
# File 'lib/lago/api/resources/subscription.rb', line 15
def lifetime_usage(external_subscription_id)
uri = URI(
"#{client.base_api_url}#{api_resource}/#{external_subscription_id}/lifetime_usage",
)
response = connection.get(uri, identifier: nil)
JSON.parse(response.to_json, object_class: OpenStruct).lifetime_usage
end
|
#root_name ⇒ Object
11
12
13
|
# File 'lib/lago/api/resources/subscription.rb', line 11
def root_name
'subscription'
end
|
#update_lifetime_usage(external_subscription_id, params) ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/lago/api/resources/subscription.rb', line 23
def update_lifetime_usage(external_subscription_id, params)
uri = URI(
"#{client.base_api_url}#{api_resource}/#{external_subscription_id}/lifetime_usage",
)
response = connection.put(
uri,
identifier: nil,
body: whitelist_lifetime_usage_params(params),
)
JSON.parse(response.to_json, object_class: OpenStruct).lifetime_usage
end
|
#whitelist_lifetime_usage_params(params) ⇒ Object
51
52
53
54
55
56
57
|
# File 'lib/lago/api/resources/subscription.rb', line 51
def whitelist_lifetime_usage_params(params)
{
lifetime_usage: {
external_historical_usage_amount_cents: params[:external_historical_usage_amount_cents],
},
}
end
|
#whitelist_params(params) ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/lago/api/resources/subscription.rb', line 36
def whitelist_params(params)
{
root_name => {
external_customer_id: params[:external_customer_id],
plan_code: params[:plan_code],
name: params[:name],
external_id: params[:external_id],
billing_time: params[:billing_time],
subscription_at: params[:subscription_at],
ending_at: params[:ending_at],
plan_overrides: params[:plan_overrides],
}.compact,
}
end
|