chartmogul-ruby 1.1.2 → 1.1.3
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/.gitignore +10 -10
- data/.rspec +2 -2
- data/.travis.yml +4 -4
- data/Gemfile +4 -4
- data/LICENSE.txt +21 -21
- data/README.md +111 -111
- data/Rakefile +6 -6
- data/bin/console +14 -14
- data/bin/setup +9 -9
- data/changelog.md +27 -27
- data/chartmogul-ruby.gemspec +29 -29
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/adds_custom_attributes.yml +80 -80
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/adds_required_tags.yml +79 -79
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/can_page_through_search_endpoint.yml +43 -43
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/correctly_handles_a_422_response.yml +50 -50
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/correctly_interracts_with_the_API.yml +244 -244
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/merges_customers.yml +185 -185
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_401_if_invalid_credentials.yml +38 -38
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_404_if_no_customers_found.yml +38 -38
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_422_for_update_with_invalid_data.yml +86 -86
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/removes_custom_attributes.yml +80 -80
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/removes_tags.yml +80 -80
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_all_customers_through_list_all_endpoint.yml +47 -47
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_customer_through_retrieve_endpoint.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_right_customers_through_search_endpoint.yml +43 -43
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_custom_attributes.yml +82 -82
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_customer.yml +139 -139
- data/fixtures/vcr_cassettes/ChartMogul_Customer/_find_by_external_id/when_external_id_is_provided/returns_matching_user_if_exists.yml +102 -102
- data/fixtures/vcr_cassettes/ChartMogul_Customer/_find_by_external_id/when_external_id_is_provided/returns_nil_if_customer_does_not_exist.yml +101 -101
- data/fixtures/vcr_cassettes/ChartMogul_CustomerInvoices/API_Interactions/correctly_interracts_with_the_API.yml +298 -298
- data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_interracts_with_the_API.yml +189 -189
- data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_raises_errors_on_404.yml +46 -46
- data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_raises_errors_on_422.yml +48 -48
- data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/retrieves_existing_data_source_matching_uuid.yml +101 -101
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/deletes_an_invoice.yml +37 -37
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/deletes_an_invoice_with_class_method.yml +37 -37
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/raises_error_on_deleting_non-existing_invoice.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/retrieves_existing_invoice_by_uuid.yml +50 -0
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/returns_all_invoices_through_list_all_endpoint.yml +46 -46
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARPA/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARPA/behaves_like_Metrics_API_resource/should_have_entries.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARR/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARR/behaves_like_Metrics_API_resource/should_have_entries.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ASP/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ASP/behaves_like_Metrics_API_resource/should_have_entries.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Activity/behaves_like_Pageable/should_be_pageable.yml +41 -41
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Activity/should_have_Activity_entries.yml +41 -41
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_AllKeyMetric/should_have_entries.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerChurnRate/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerChurnRate/behaves_like_Metrics_API_resource/should_have_entries.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerCount/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerCount/behaves_like_Metrics_API_resource/should_have_entries.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_LTV/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_LTV/behaves_like_Metrics_API_resource/should_have_entries.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRR/behaves_like_Summary/should_have_summary.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRR/should_have_entries.yml +42 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRRChurnRate/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRRChurnRate/behaves_like_Metrics_API_resource/should_have_entries.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Subscription/behaves_like_Pageable/should_be_pageable.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Subscription/should_have_Subscription_entries.yml +40 -40
- data/fixtures/vcr_cassettes/ChartMogul_Ping/pings/and_fails_on_incorrect_credentials.yml +38 -38
- data/fixtures/vcr_cassettes/ChartMogul_Ping/pings/when_credentials_correct.yml +38 -38
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/correctly_handles_a_422_error.yml +51 -51
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/correctly_interacts_with_the_API.yml +152 -152
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/deletes_existing_plan.yml +198 -198
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/retrieves_existing_plan_by_uuid.yml +151 -151
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/updates_existing_plan.yml +198 -198
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/correctly_interracts_with_the_API.yml +340 -340
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/has_multiple_aliases.yml +101 -101
- data/fixtures/vcr_cassettes/ChartMogul_Transactions_Payment/API_Interactions/correctly_interracts_with_the_API.yml +243 -243
- data/lib/chartmogul.rb +80 -79
- data/lib/chartmogul/api/actions/all.rb +23 -23
- data/lib/chartmogul/api/actions/create.rb +39 -39
- data/lib/chartmogul/api/actions/custom.rb +37 -37
- data/lib/chartmogul/api/actions/destroy.rb +27 -28
- data/lib/chartmogul/api/actions/retrieve.rb +23 -0
- data/lib/chartmogul/api/actions/update.rb +19 -19
- data/lib/chartmogul/api_resource.rb +68 -68
- data/lib/chartmogul/concerns/entries.rb +39 -39
- data/lib/chartmogul/concerns/pageable.rb +13 -13
- data/lib/chartmogul/concerns/pageable2.rb +12 -12
- data/lib/chartmogul/concerns/summary.rb +20 -20
- data/lib/chartmogul/config_attributes.rb +15 -15
- data/lib/chartmogul/configuration.rb +6 -6
- data/lib/chartmogul/customer.rb +153 -155
- data/lib/chartmogul/customer_invoices.rb +44 -44
- data/lib/chartmogul/data_source.rb +35 -38
- data/lib/chartmogul/enrichment/customer.rb +138 -141
- data/lib/chartmogul/errors/chartmogul_error.rb +19 -19
- data/lib/chartmogul/errors/configuration_error.rb +4 -4
- data/lib/chartmogul/errors/forbidden_error.rb +4 -4
- data/lib/chartmogul/errors/not_found_error.rb +4 -4
- data/lib/chartmogul/errors/resource_invalid_error.rb +4 -4
- data/lib/chartmogul/errors/schema_invalid_error.rb +4 -4
- data/lib/chartmogul/errors/unauthorized_error.rb +4 -4
- data/lib/chartmogul/invoice.rb +84 -83
- data/lib/chartmogul/line_items/one_time.rb +23 -23
- data/lib/chartmogul/line_items/subscription.rb +29 -29
- data/lib/chartmogul/metrics/activity.rb +34 -34
- data/lib/chartmogul/metrics/all_key_metrics.rb +25 -25
- data/lib/chartmogul/metrics/arpa.rb +19 -19
- data/lib/chartmogul/metrics/arr.rb +19 -19
- data/lib/chartmogul/metrics/asp.rb +19 -19
- data/lib/chartmogul/metrics/base.rb +56 -56
- data/lib/chartmogul/metrics/customer_churn_rate.rb +19 -19
- data/lib/chartmogul/metrics/customer_count.rb +19 -19
- data/lib/chartmogul/metrics/ltv.rb +19 -19
- data/lib/chartmogul/metrics/mrr.rb +26 -26
- data/lib/chartmogul/metrics/mrr_churn_rate.rb +19 -19
- data/lib/chartmogul/metrics/subscription.rb +37 -37
- data/lib/chartmogul/object.rb +119 -119
- data/lib/chartmogul/ping.rb +14 -14
- data/lib/chartmogul/plan.rb +38 -41
- data/lib/chartmogul/resource_path.rb +42 -42
- data/lib/chartmogul/subscription.rb +48 -48
- data/lib/chartmogul/summary.rb +7 -7
- data/lib/chartmogul/transactions/payment.rb +24 -24
- data/lib/chartmogul/transactions/refund.rb +24 -24
- data/lib/chartmogul/utils/hash_snake_caser.rb +50 -50
- data/lib/chartmogul/utils/json_parser.rb +11 -11
- data/lib/chartmogul/version.rb +3 -3
- metadata +4 -2
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
class ARPA < ChartMogul::Object
|
|
4
|
-
readonly_attr :date, type: :date
|
|
5
|
-
readonly_attr :arpa
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
class ARPAs < APIResource
|
|
9
|
-
set_resource_name 'ARPAs'
|
|
10
|
-
set_resource_path '/v1/metrics/arpa'
|
|
11
|
-
|
|
12
|
-
include Concerns::Entries
|
|
13
|
-
include Concerns::Summary
|
|
14
|
-
|
|
15
|
-
set_entry_class ARPA
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
class ARPA < ChartMogul::Object
|
|
4
|
+
readonly_attr :date, type: :date
|
|
5
|
+
readonly_attr :arpa
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class ARPAs < APIResource
|
|
9
|
+
set_resource_name 'ARPAs'
|
|
10
|
+
set_resource_path '/v1/metrics/arpa'
|
|
11
|
+
|
|
12
|
+
include Concerns::Entries
|
|
13
|
+
include Concerns::Summary
|
|
14
|
+
|
|
15
|
+
set_entry_class ARPA
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
class ARR < ChartMogul::Object
|
|
4
|
-
readonly_attr :date, type: :date
|
|
5
|
-
readonly_attr :arr
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
class ARRs < APIResource
|
|
9
|
-
set_resource_name 'ARRs'
|
|
10
|
-
set_resource_path '/v1/metrics/arr'
|
|
11
|
-
|
|
12
|
-
include Concerns::Entries
|
|
13
|
-
include Concerns::Summary
|
|
14
|
-
|
|
15
|
-
set_entry_class ARR
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
class ARR < ChartMogul::Object
|
|
4
|
+
readonly_attr :date, type: :date
|
|
5
|
+
readonly_attr :arr
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class ARRs < APIResource
|
|
9
|
+
set_resource_name 'ARRs'
|
|
10
|
+
set_resource_path '/v1/metrics/arr'
|
|
11
|
+
|
|
12
|
+
include Concerns::Entries
|
|
13
|
+
include Concerns::Summary
|
|
14
|
+
|
|
15
|
+
set_entry_class ARR
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
class ASP < ChartMogul::Object
|
|
4
|
-
readonly_attr :date, type: :date
|
|
5
|
-
readonly_attr :asp
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
class ASPs < APIResource
|
|
9
|
-
set_resource_name 'ASPs'
|
|
10
|
-
set_resource_path '/v1/metrics/asp'
|
|
11
|
-
|
|
12
|
-
include Concerns::Entries
|
|
13
|
-
include Concerns::Summary
|
|
14
|
-
|
|
15
|
-
set_entry_class ASP
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
class ASP < ChartMogul::Object
|
|
4
|
+
readonly_attr :date, type: :date
|
|
5
|
+
readonly_attr :asp
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class ASPs < APIResource
|
|
9
|
+
set_resource_name 'ASPs'
|
|
10
|
+
set_resource_path '/v1/metrics/asp'
|
|
11
|
+
|
|
12
|
+
include Concerns::Entries
|
|
13
|
+
include Concerns::Summary
|
|
14
|
+
|
|
15
|
+
set_entry_class ASP
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
|
|
4
|
-
def self.all(options = {})
|
|
5
|
-
ChartMogul::Metrics::AllKeyMetrics.all(preprocess_params(options))
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def self.arpa(options = {})
|
|
9
|
-
ChartMogul::Metrics::ARPAs.all(preprocess_params(options))
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.arr(options = {})
|
|
13
|
-
ChartMogul::Metrics::ARRs.all(preprocess_params(options))
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def self.asp(options = {})
|
|
17
|
-
ChartMogul::Metrics::ASPs.all(preprocess_params(options))
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def self.customer_churn_rate(options = {})
|
|
21
|
-
ChartMogul::Metrics::CustomerChurnRates.all(preprocess_params(options))
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def self.customer_count(options = {})
|
|
25
|
-
ChartMogul::Metrics::CustomerCounts.all(preprocess_params(options))
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def self.mrr(options = {})
|
|
29
|
-
ChartMogul::Metrics::MRRs.all(preprocess_params(options))
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def self.ltv(options = {})
|
|
33
|
-
ChartMogul::Metrics::LTVs.all(preprocess_params(options))
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def self.mrr_churn_rate(options = {})
|
|
37
|
-
ChartMogul::Metrics::MRRChurnRates.all(preprocess_params(options))
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
private
|
|
41
|
-
|
|
42
|
-
def self.preprocess_params(options)
|
|
43
|
-
[:start_date, :end_date].each do |param_name|
|
|
44
|
-
options[param_name.to_s.gsub('_', '-')] = options.delete(param_name) if options[param_name]
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
[:geo, :plans].each do |param_name|
|
|
48
|
-
if options[param_name] && options[param_name].kind_of?(Array)
|
|
49
|
-
options[param_name] = options[param_name].join(',')
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
options
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
|
|
4
|
+
def self.all(options = {})
|
|
5
|
+
ChartMogul::Metrics::AllKeyMetrics.all(preprocess_params(options))
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def self.arpa(options = {})
|
|
9
|
+
ChartMogul::Metrics::ARPAs.all(preprocess_params(options))
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def self.arr(options = {})
|
|
13
|
+
ChartMogul::Metrics::ARRs.all(preprocess_params(options))
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def self.asp(options = {})
|
|
17
|
+
ChartMogul::Metrics::ASPs.all(preprocess_params(options))
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.customer_churn_rate(options = {})
|
|
21
|
+
ChartMogul::Metrics::CustomerChurnRates.all(preprocess_params(options))
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def self.customer_count(options = {})
|
|
25
|
+
ChartMogul::Metrics::CustomerCounts.all(preprocess_params(options))
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.mrr(options = {})
|
|
29
|
+
ChartMogul::Metrics::MRRs.all(preprocess_params(options))
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.ltv(options = {})
|
|
33
|
+
ChartMogul::Metrics::LTVs.all(preprocess_params(options))
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def self.mrr_churn_rate(options = {})
|
|
37
|
+
ChartMogul::Metrics::MRRChurnRates.all(preprocess_params(options))
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
private
|
|
41
|
+
|
|
42
|
+
def self.preprocess_params(options)
|
|
43
|
+
[:start_date, :end_date].each do |param_name|
|
|
44
|
+
options[param_name.to_s.gsub('_', '-')] = options.delete(param_name) if options[param_name]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
[:geo, :plans].each do |param_name|
|
|
48
|
+
if options[param_name] && options[param_name].kind_of?(Array)
|
|
49
|
+
options[param_name] = options[param_name].join(',')
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
options
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
class CustomerChurnRate < ChartMogul::Object
|
|
4
|
-
readonly_attr :date, type: :date
|
|
5
|
-
readonly_attr :customer_churn_rate
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
class CustomerChurnRates < APIResource
|
|
9
|
-
set_resource_name 'Customer Churn Rates'
|
|
10
|
-
set_resource_path '/v1/metrics/customer-churn-rate'
|
|
11
|
-
|
|
12
|
-
include Concerns::Entries
|
|
13
|
-
include Concerns::Summary
|
|
14
|
-
|
|
15
|
-
set_entry_class CustomerChurnRate
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
class CustomerChurnRate < ChartMogul::Object
|
|
4
|
+
readonly_attr :date, type: :date
|
|
5
|
+
readonly_attr :customer_churn_rate
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class CustomerChurnRates < APIResource
|
|
9
|
+
set_resource_name 'Customer Churn Rates'
|
|
10
|
+
set_resource_path '/v1/metrics/customer-churn-rate'
|
|
11
|
+
|
|
12
|
+
include Concerns::Entries
|
|
13
|
+
include Concerns::Summary
|
|
14
|
+
|
|
15
|
+
set_entry_class CustomerChurnRate
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
class CustomerCount < ChartMogul::Object
|
|
4
|
-
readonly_attr :date, type: :date
|
|
5
|
-
readonly_attr :customers
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
class CustomerCounts < APIResource
|
|
9
|
-
set_resource_name 'Customer Counts'
|
|
10
|
-
set_resource_path '/v1/metrics/customer-count'
|
|
11
|
-
|
|
12
|
-
include Concerns::Entries
|
|
13
|
-
include Concerns::Summary
|
|
14
|
-
|
|
15
|
-
set_entry_class CustomerCount
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
class CustomerCount < ChartMogul::Object
|
|
4
|
+
readonly_attr :date, type: :date
|
|
5
|
+
readonly_attr :customers
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class CustomerCounts < APIResource
|
|
9
|
+
set_resource_name 'Customer Counts'
|
|
10
|
+
set_resource_path '/v1/metrics/customer-count'
|
|
11
|
+
|
|
12
|
+
include Concerns::Entries
|
|
13
|
+
include Concerns::Summary
|
|
14
|
+
|
|
15
|
+
set_entry_class CustomerCount
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
class LTV < ChartMogul::Object
|
|
4
|
-
readonly_attr :date, type: :date
|
|
5
|
-
readonly_attr :ltv
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
class LTVs < APIResource
|
|
9
|
-
set_resource_name 'LTVs'
|
|
10
|
-
set_resource_path '/v1/metrics/ltv'
|
|
11
|
-
|
|
12
|
-
include Concerns::Entries
|
|
13
|
-
include Concerns::Summary
|
|
14
|
-
|
|
15
|
-
set_entry_class LTV
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
class LTV < ChartMogul::Object
|
|
4
|
+
readonly_attr :date, type: :date
|
|
5
|
+
readonly_attr :ltv
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class LTVs < APIResource
|
|
9
|
+
set_resource_name 'LTVs'
|
|
10
|
+
set_resource_path '/v1/metrics/ltv'
|
|
11
|
+
|
|
12
|
+
include Concerns::Entries
|
|
13
|
+
include Concerns::Summary
|
|
14
|
+
|
|
15
|
+
set_entry_class LTV
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
class MRR < ChartMogul::Object
|
|
4
|
-
readonly_attr :date, type: :date
|
|
5
|
-
readonly_attr :mrr
|
|
6
|
-
|
|
7
|
-
readonly_attr :mrr_new_business
|
|
8
|
-
|
|
9
|
-
readonly_attr :mrr_expansion
|
|
10
|
-
readonly_attr :mrr_contraction
|
|
11
|
-
|
|
12
|
-
readonly_attr :mrr_churn
|
|
13
|
-
readonly_attr :mrr_reactivation
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
class MRRs < APIResource
|
|
17
|
-
set_resource_name 'MRRs'
|
|
18
|
-
set_resource_path '/v1/metrics/mrr'
|
|
19
|
-
|
|
20
|
-
include Concerns::Entries
|
|
21
|
-
include Concerns::Summary
|
|
22
|
-
|
|
23
|
-
set_entry_class MRR
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
class MRR < ChartMogul::Object
|
|
4
|
+
readonly_attr :date, type: :date
|
|
5
|
+
readonly_attr :mrr
|
|
6
|
+
|
|
7
|
+
readonly_attr :mrr_new_business
|
|
8
|
+
|
|
9
|
+
readonly_attr :mrr_expansion
|
|
10
|
+
readonly_attr :mrr_contraction
|
|
11
|
+
|
|
12
|
+
readonly_attr :mrr_churn
|
|
13
|
+
readonly_attr :mrr_reactivation
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
class MRRs < APIResource
|
|
17
|
+
set_resource_name 'MRRs'
|
|
18
|
+
set_resource_path '/v1/metrics/mrr'
|
|
19
|
+
|
|
20
|
+
include Concerns::Entries
|
|
21
|
+
include Concerns::Summary
|
|
22
|
+
|
|
23
|
+
set_entry_class MRR
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
class MRRChurnRate < ChartMogul::Object
|
|
4
|
-
readonly_attr :date, type: :date
|
|
5
|
-
readonly_attr :mrr_churn_rate
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
class MRRChurnRates < APIResource
|
|
9
|
-
set_resource_name 'MRR Churn Rates'
|
|
10
|
-
set_resource_path '/v1/metrics/mrr-churn-rate'
|
|
11
|
-
|
|
12
|
-
include Concerns::Entries
|
|
13
|
-
include Concerns::Summary
|
|
14
|
-
|
|
15
|
-
set_entry_class MRRChurnRate
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
class MRRChurnRate < ChartMogul::Object
|
|
4
|
+
readonly_attr :date, type: :date
|
|
5
|
+
readonly_attr :mrr_churn_rate
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class MRRChurnRates < APIResource
|
|
9
|
+
set_resource_name 'MRR Churn Rates'
|
|
10
|
+
set_resource_path '/v1/metrics/mrr-churn-rate'
|
|
11
|
+
|
|
12
|
+
include Concerns::Entries
|
|
13
|
+
include Concerns::Summary
|
|
14
|
+
|
|
15
|
+
set_entry_class MRRChurnRate
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
module ChartMogul
|
|
2
|
-
module Metrics
|
|
3
|
-
class Subscription < ChartMogul::Object
|
|
4
|
-
readonly_attr :id
|
|
5
|
-
readonly_attr :external_id
|
|
6
|
-
readonly_attr :plan
|
|
7
|
-
readonly_attr :quantity
|
|
8
|
-
readonly_attr :mrr
|
|
9
|
-
readonly_attr :arr
|
|
10
|
-
readonly_attr :status
|
|
11
|
-
readonly_attr :billing_cycle
|
|
12
|
-
readonly_attr :billing_cycle_count
|
|
13
|
-
readonly_attr :start_date, type: :time
|
|
14
|
-
readonly_attr :end_date, type: :time
|
|
15
|
-
readonly_attr :currency
|
|
16
|
-
readonly_attr :currency_sign
|
|
17
|
-
|
|
18
|
-
def self.all(customer_uuid, options = {})
|
|
19
|
-
ChartMogul::Metrics::Subscriptions.all(customer_uuid, options)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
class Subscriptions < APIResource
|
|
24
|
-
set_resource_name 'Subscriptions'
|
|
25
|
-
set_resource_path '/v1/customers/:customer_uuid/subscriptions'
|
|
26
|
-
|
|
27
|
-
include Concerns::Entries
|
|
28
|
-
include Concerns::Pageable
|
|
29
|
-
|
|
30
|
-
set_entry_class Subscription
|
|
31
|
-
|
|
32
|
-
def self.all(customer_uuid, options = {})
|
|
33
|
-
super(options.merge(customer_uuid: customer_uuid))
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
1
|
+
module ChartMogul
|
|
2
|
+
module Metrics
|
|
3
|
+
class Subscription < ChartMogul::Object
|
|
4
|
+
readonly_attr :id
|
|
5
|
+
readonly_attr :external_id
|
|
6
|
+
readonly_attr :plan
|
|
7
|
+
readonly_attr :quantity
|
|
8
|
+
readonly_attr :mrr
|
|
9
|
+
readonly_attr :arr
|
|
10
|
+
readonly_attr :status
|
|
11
|
+
readonly_attr :billing_cycle
|
|
12
|
+
readonly_attr :billing_cycle_count
|
|
13
|
+
readonly_attr :start_date, type: :time
|
|
14
|
+
readonly_attr :end_date, type: :time
|
|
15
|
+
readonly_attr :currency
|
|
16
|
+
readonly_attr :currency_sign
|
|
17
|
+
|
|
18
|
+
def self.all(customer_uuid, options = {})
|
|
19
|
+
ChartMogul::Metrics::Subscriptions.all(customer_uuid, options)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class Subscriptions < APIResource
|
|
24
|
+
set_resource_name 'Subscriptions'
|
|
25
|
+
set_resource_path '/v1/customers/:customer_uuid/subscriptions'
|
|
26
|
+
|
|
27
|
+
include Concerns::Entries
|
|
28
|
+
include Concerns::Pageable
|
|
29
|
+
|
|
30
|
+
set_entry_class Subscription
|
|
31
|
+
|
|
32
|
+
def self.all(customer_uuid, options = {})
|
|
33
|
+
super(options.merge(customer_uuid: customer_uuid))
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|