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.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +10 -10
  3. data/.rspec +2 -2
  4. data/.travis.yml +4 -4
  5. data/Gemfile +4 -4
  6. data/LICENSE.txt +21 -21
  7. data/README.md +111 -111
  8. data/Rakefile +6 -6
  9. data/bin/console +14 -14
  10. data/bin/setup +9 -9
  11. data/changelog.md +27 -27
  12. data/chartmogul-ruby.gemspec +29 -29
  13. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/adds_custom_attributes.yml +80 -80
  14. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/adds_required_tags.yml +79 -79
  15. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/can_page_through_search_endpoint.yml +43 -43
  16. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/correctly_handles_a_422_response.yml +50 -50
  17. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/correctly_interracts_with_the_API.yml +244 -244
  18. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/merges_customers.yml +185 -185
  19. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_401_if_invalid_credentials.yml +38 -38
  20. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_404_if_no_customers_found.yml +38 -38
  21. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_422_for_update_with_invalid_data.yml +86 -86
  22. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/removes_custom_attributes.yml +80 -80
  23. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/removes_tags.yml +80 -80
  24. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_all_customers_through_list_all_endpoint.yml +47 -47
  25. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_customer_through_retrieve_endpoint.yml +42 -42
  26. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_right_customers_through_search_endpoint.yml +43 -43
  27. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_custom_attributes.yml +82 -82
  28. data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_customer.yml +139 -139
  29. data/fixtures/vcr_cassettes/ChartMogul_Customer/_find_by_external_id/when_external_id_is_provided/returns_matching_user_if_exists.yml +102 -102
  30. 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
  31. data/fixtures/vcr_cassettes/ChartMogul_CustomerInvoices/API_Interactions/correctly_interracts_with_the_API.yml +298 -298
  32. data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_interracts_with_the_API.yml +189 -189
  33. data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_raises_errors_on_404.yml +46 -46
  34. data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_raises_errors_on_422.yml +48 -48
  35. data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/retrieves_existing_data_source_matching_uuid.yml +101 -101
  36. data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/deletes_an_invoice.yml +37 -37
  37. data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/deletes_an_invoice_with_class_method.yml +37 -37
  38. data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/raises_error_on_deleting_non-existing_invoice.yml +42 -42
  39. data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/retrieves_existing_invoice_by_uuid.yml +50 -0
  40. data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/returns_all_invoices_through_list_all_endpoint.yml +46 -46
  41. data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARPA/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +42 -42
  42. data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARPA/behaves_like_Metrics_API_resource/should_have_entries.yml +42 -42
  43. data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARR/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +42 -42
  44. data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARR/behaves_like_Metrics_API_resource/should_have_entries.yml +42 -42
  45. data/fixtures/vcr_cassettes/ChartMogul_Metrics_ASP/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +40 -40
  46. data/fixtures/vcr_cassettes/ChartMogul_Metrics_ASP/behaves_like_Metrics_API_resource/should_have_entries.yml +40 -40
  47. data/fixtures/vcr_cassettes/ChartMogul_Metrics_Activity/behaves_like_Pageable/should_be_pageable.yml +41 -41
  48. data/fixtures/vcr_cassettes/ChartMogul_Metrics_Activity/should_have_Activity_entries.yml +41 -41
  49. data/fixtures/vcr_cassettes/ChartMogul_Metrics_AllKeyMetric/should_have_entries.yml +42 -42
  50. data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerChurnRate/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +40 -40
  51. data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerChurnRate/behaves_like_Metrics_API_resource/should_have_entries.yml +40 -40
  52. data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerCount/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +42 -42
  53. data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerCount/behaves_like_Metrics_API_resource/should_have_entries.yml +42 -42
  54. data/fixtures/vcr_cassettes/ChartMogul_Metrics_LTV/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +40 -40
  55. data/fixtures/vcr_cassettes/ChartMogul_Metrics_LTV/behaves_like_Metrics_API_resource/should_have_entries.yml +40 -40
  56. data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRR/behaves_like_Summary/should_have_summary.yml +42 -42
  57. data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRR/should_have_entries.yml +42 -42
  58. data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRRChurnRate/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +40 -40
  59. data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRRChurnRate/behaves_like_Metrics_API_resource/should_have_entries.yml +40 -40
  60. data/fixtures/vcr_cassettes/ChartMogul_Metrics_Subscription/behaves_like_Pageable/should_be_pageable.yml +40 -40
  61. data/fixtures/vcr_cassettes/ChartMogul_Metrics_Subscription/should_have_Subscription_entries.yml +40 -40
  62. data/fixtures/vcr_cassettes/ChartMogul_Ping/pings/and_fails_on_incorrect_credentials.yml +38 -38
  63. data/fixtures/vcr_cassettes/ChartMogul_Ping/pings/when_credentials_correct.yml +38 -38
  64. data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/correctly_handles_a_422_error.yml +51 -51
  65. data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/correctly_interacts_with_the_API.yml +152 -152
  66. data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/deletes_existing_plan.yml +198 -198
  67. data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/retrieves_existing_plan_by_uuid.yml +151 -151
  68. data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/updates_existing_plan.yml +198 -198
  69. data/fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/correctly_interracts_with_the_API.yml +340 -340
  70. data/fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/has_multiple_aliases.yml +101 -101
  71. data/fixtures/vcr_cassettes/ChartMogul_Transactions_Payment/API_Interactions/correctly_interracts_with_the_API.yml +243 -243
  72. data/lib/chartmogul.rb +80 -79
  73. data/lib/chartmogul/api/actions/all.rb +23 -23
  74. data/lib/chartmogul/api/actions/create.rb +39 -39
  75. data/lib/chartmogul/api/actions/custom.rb +37 -37
  76. data/lib/chartmogul/api/actions/destroy.rb +27 -28
  77. data/lib/chartmogul/api/actions/retrieve.rb +23 -0
  78. data/lib/chartmogul/api/actions/update.rb +19 -19
  79. data/lib/chartmogul/api_resource.rb +68 -68
  80. data/lib/chartmogul/concerns/entries.rb +39 -39
  81. data/lib/chartmogul/concerns/pageable.rb +13 -13
  82. data/lib/chartmogul/concerns/pageable2.rb +12 -12
  83. data/lib/chartmogul/concerns/summary.rb +20 -20
  84. data/lib/chartmogul/config_attributes.rb +15 -15
  85. data/lib/chartmogul/configuration.rb +6 -6
  86. data/lib/chartmogul/customer.rb +153 -155
  87. data/lib/chartmogul/customer_invoices.rb +44 -44
  88. data/lib/chartmogul/data_source.rb +35 -38
  89. data/lib/chartmogul/enrichment/customer.rb +138 -141
  90. data/lib/chartmogul/errors/chartmogul_error.rb +19 -19
  91. data/lib/chartmogul/errors/configuration_error.rb +4 -4
  92. data/lib/chartmogul/errors/forbidden_error.rb +4 -4
  93. data/lib/chartmogul/errors/not_found_error.rb +4 -4
  94. data/lib/chartmogul/errors/resource_invalid_error.rb +4 -4
  95. data/lib/chartmogul/errors/schema_invalid_error.rb +4 -4
  96. data/lib/chartmogul/errors/unauthorized_error.rb +4 -4
  97. data/lib/chartmogul/invoice.rb +84 -83
  98. data/lib/chartmogul/line_items/one_time.rb +23 -23
  99. data/lib/chartmogul/line_items/subscription.rb +29 -29
  100. data/lib/chartmogul/metrics/activity.rb +34 -34
  101. data/lib/chartmogul/metrics/all_key_metrics.rb +25 -25
  102. data/lib/chartmogul/metrics/arpa.rb +19 -19
  103. data/lib/chartmogul/metrics/arr.rb +19 -19
  104. data/lib/chartmogul/metrics/asp.rb +19 -19
  105. data/lib/chartmogul/metrics/base.rb +56 -56
  106. data/lib/chartmogul/metrics/customer_churn_rate.rb +19 -19
  107. data/lib/chartmogul/metrics/customer_count.rb +19 -19
  108. data/lib/chartmogul/metrics/ltv.rb +19 -19
  109. data/lib/chartmogul/metrics/mrr.rb +26 -26
  110. data/lib/chartmogul/metrics/mrr_churn_rate.rb +19 -19
  111. data/lib/chartmogul/metrics/subscription.rb +37 -37
  112. data/lib/chartmogul/object.rb +119 -119
  113. data/lib/chartmogul/ping.rb +14 -14
  114. data/lib/chartmogul/plan.rb +38 -41
  115. data/lib/chartmogul/resource_path.rb +42 -42
  116. data/lib/chartmogul/subscription.rb +48 -48
  117. data/lib/chartmogul/summary.rb +7 -7
  118. data/lib/chartmogul/transactions/payment.rb +24 -24
  119. data/lib/chartmogul/transactions/refund.rb +24 -24
  120. data/lib/chartmogul/utils/hash_snake_caser.rb +50 -50
  121. data/lib/chartmogul/utils/json_parser.rb +11 -11
  122. data/lib/chartmogul/version.rb +3 -3
  123. 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