chartmogul-ruby 3.3.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -1
- data/.gitignore +2 -1
- data/README.md +1 -1
- data/changelog.md +15 -0
- data/chartmogul-ruby.gemspec +2 -2
- data/lib/chartmogul/api/actions/custom.rb +2 -1
- data/lib/chartmogul/concerns/pageable_with_cursor.rb +4 -0
- data/lib/chartmogul/contact.rb +1 -4
- data/lib/chartmogul/customer.rb +13 -1
- data/lib/chartmogul/customer_invoices.rb +5 -1
- data/lib/chartmogul/enrichment/customer.rb +1 -0
- data/lib/chartmogul/errors/deprecated_parameter_error.rb +6 -0
- data/lib/chartmogul/invoice.rb +1 -0
- data/lib/chartmogul/metrics/activity.rb +1 -4
- data/lib/chartmogul/metrics/customers/activity.rb +5 -0
- data/lib/chartmogul/metrics/customers/subscription.rb +5 -0
- data/lib/chartmogul/plan.rb +1 -0
- data/lib/chartmogul/plan_group.rb +1 -0
- data/lib/chartmogul/plan_groups/plans.rb +11 -0
- data/lib/chartmogul/resource_path.rb +6 -1
- data/lib/chartmogul/subscription.rb +5 -0
- data/lib/chartmogul/subscription_event.rb +1 -0
- data/lib/chartmogul/version.rb +1 -1
- data/lib/chartmogul.rb +1 -0
- metadata +6 -103
- data/fixtures/vcr_cassettes/ChartMogul_APIResource/connection/works_in_a_threaded_environment.yml +0 -112
- data/fixtures/vcr_cassettes/ChartMogul_APIResource/connection/works_when_credentials_are_updated.yml +0 -77
- data/fixtures/vcr_cassettes/ChartMogul_Account/returns_details_of_current_account.yml +0 -64
- data/fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/creates_contact_correctly.yml +0 -134
- data/fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/destroys_contact_correctly.yml +0 -99
- data/fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/merges_contact_correctly.yml +0 -105
- data/fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/paginates_correctly.yml +0 -133
- data/fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/updates_contact_correctly.yml +0 -102
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/adds_custom_attributes.yml +0 -80
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/adds_required_tags.yml +0 -79
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/can_page_through_search_endpoint.yml +0 -43
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/correctly_handles_a_422_response.yml +0 -50
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/correctly_interracts_with_the_API.yml +0 -192
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/creates_a_contact_belonging_to_the_customer_correctly.yml +0 -72
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/lists_the_contacts_belonging_to_the_customer_correctly.yml +0 -72
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/merges_customers.yml +0 -185
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_401_if_invalid_credentials.yml +0 -38
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_404_if_no_customers_found.yml +0 -38
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_422_for_update_with_invalid_data.yml +0 -86
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/removes_custom_attributes.yml +0 -80
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/removes_tags.yml +0 -80
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/respects_camel_case_for_all_customers_endpoint.yml +0 -45
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_all_customers_through_list_all_endpoint.yml +0 -47
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_customer_through_retrieve_endpoint.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_right_customers_through_search_endpoint.yml +0 -43
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_custom_attributes.yml +0 -81
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_customer.yml +0 -139
- data/fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_customer_using_class_method.yml +0 -53
- data/fixtures/vcr_cassettes/ChartMogul_Customer/_find_by_external_id/when_external_id_is_provided/returns_matching_user_if_exists.yml +0 -102
- data/fixtures/vcr_cassettes/ChartMogul_Customer/_find_by_external_id/when_external_id_is_provided/returns_nil_if_customer_does_not_exist.yml +0 -101
- data/fixtures/vcr_cassettes/ChartMogul_CustomerInvoices/API_Interactions/correctly_interracts_with_the_API.yml +0 -337
- data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_interracts_with_the_API.yml +0 -189
- data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_raises_errors_on_404.yml +0 -46
- data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_raises_errors_on_422.yml +0 -48
- data/fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/retrieves_existing_data_source_matching_uuid.yml +0 -101
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/deletes_an_invoice.yml +0 -37
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/deletes_an_invoice_with_class_method.yml +0 -37
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/raises_error_on_deleting_non-existing_invoice.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/retrieves_existing_invoice_by_uuid.yml +0 -50
- data/fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/returns_all_invoices_through_list_all_endpoint.yml +0 -46
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARPA/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARPA/behaves_like_Metrics_API_resource/should_have_entries.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARR/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ARR/behaves_like_Metrics_API_resource/should_have_entries.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ASP/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ASP/behaves_like_Metrics_API_resource/should_have_entries.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ActivitiesExport/get_activities_export.yml +0 -43
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_ActivitiesExport/post_activities_export.yml +0 -83
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Activity/behaves_like_PageableWithAnchor/should_be_pageable.yml +0 -44
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Activity/should_have_Activity_entries.yml +0 -44
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Activity.yml +0 -37
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_AllKeyMetric/should_have_entries.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_AllKeyMetric/should_have_summary.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerChurnRate/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerChurnRate/behaves_like_Metrics_API_resource/should_have_entries.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerCount/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerCount/behaves_like_Metrics_API_resource/should_have_entries.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Customers_Activity/behaves_like_Pageable/should_be_pageable.yml +0 -41
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Customers_Activity/should_have_Activity_entries.yml +0 -41
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Customers_Subscription/behaves_like_Pageable/should_be_pageable.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_Customers_Subscription/should_have_Subscription_entries.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_LTV/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_LTV/behaves_like_Metrics_API_resource/should_have_entries.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRR/behaves_like_Summary/should_have_summary.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRR/should_have_entries.yml +0 -42
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRRChurnRate/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Metrics_MRRChurnRate/behaves_like_Metrics_API_resource/should_have_entries.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Ping/pings/and_fails_on_incorrect_credentials.yml +0 -38
- data/fixtures/vcr_cassettes/ChartMogul_Ping/pings/and_fails_with_500_internal_server_error.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Ping/pings/and_fails_with_504_gateway_timeout_error.yml +0 -40
- data/fixtures/vcr_cassettes/ChartMogul_Ping/pings/when_credentials_correct.yml +0 -38
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/correctly_handles_a_422_error.yml +0 -51
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/correctly_interacts_with_the_API.yml +0 -152
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/deletes_existing_plan.yml +0 -198
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/retrieves_existing_plan_by_uuid.yml +0 -151
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/updates_existing_plan.yml +0 -198
- data/fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/updates_existing_plan_using_class_method.yml +0 -164
- data/fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/correctly_handles_a_422_error.yml +0 -50
- data/fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/deletes_a_plan_group.yml +0 -293
- data/fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/retrieves_existing_plan_group_by_uuid.yml +0 -251
- data/fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/returns_an_array_of_plan_groups.yml +0 -357
- data/fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/updates_existing_plan_group_name.yml +0 -304
- data/fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/updates_existing_plan_group_name_via_class_method.yml +0 -297
- data/fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/updates_existing_plan_group_plans.yml +0 -411
- data/fixtures/vcr_cassettes/ChartMogul_PlanGroups_Plans/API_interactions/given_a_plan_group_uuid_returns_an_array_of_plans_in_the_plan_group.yml +0 -252
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/connects_subscriptions.yml +0 -436
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/correctly_interracts_with_the_API.yml +0 -340
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/has_multiple_aliases.yml +0 -101
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_has_time_objects/is_setting_the_cancellation_dates_of_the_subscription.yml +0 -138
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_includes_invalid_entries/raises_an_exception.yml +0 -93
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_includes_valid_entries/is_setting_the_cancellation_dates_of_the_subscription.yml +0 -138
- data/fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_is_empty/makes_an_API_call_and_removes_the_cancellation_dates.yml +0 -138
- data/fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/creates_a_new_subscription_event.yml +0 -320
- data/fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/creates_a_new_subscription_event_through_initialization.yml +0 -320
- data/fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/deletes_the_subscription_event.yml +0 -377
- data/fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/lists_all_subscription_events.yml +0 -320
- data/fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/updates_the_subscription_event.yml +0 -377
- data/fixtures/vcr_cassettes/ChartMogul_Transactions_Payment/API_Interactions/correctly_interracts_with_the_API.yml +0 -243
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66ebd465c81aa14f0e68e406fd7a4b29137d3d019d6ceb4e1da1aaf1d40b0ef4
|
4
|
+
data.tar.gz: 7380c7be4a87d8d8822702eeed51d50dbf36fabbb727d4469239d023282c14eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20c35e5c04d023dce1487916c10a543afe6773c2781ffe10b324045e9c6cad1c7e9b7521d16007fae4ce7345c1f34d06dfd40ed98dd8941ead4f435728ffda06
|
7
|
+
data.tar.gz: fd0be8d9cee2c624e945f33f55effcea1825d7f72913f0d765b97e70084a1ba3fc0561ad0b922f4691e3b2daa3a70a82b87b8d7b44ec72bb69a107e528bfb332
|
data/.github/workflows/test.yml
CHANGED
data/.gitignore
CHANGED
data/README.md
CHANGED
data/changelog.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# chartmogul-ruby Change Log
|
2
2
|
|
3
|
+
## Version 4.0.0 - November 1 2023
|
4
|
+
- Remove support for old pagination using `page` parameter.
|
5
|
+
- Drop support for Ruby versions below 2.7.
|
6
|
+
|
7
|
+
## Version 3.3.1 - October 27 2023
|
8
|
+
- Add support for cursor based pagination to `.all` endpoints.
|
9
|
+
- Add `.next` pagination method for all supported cursor based endpoints.
|
10
|
+
- Move `fixtures/` folder inside the `spec/` folder.
|
11
|
+
- Update `.merge!` methods to always return `true` when successful.
|
12
|
+
- Add new attributes to `ChartMogul::Customer` resource.
|
13
|
+
- Do not error when the server returns an empty body from `.custom!` methods.
|
14
|
+
|
15
|
+
## Version 3.3.0 - August 14 2023
|
16
|
+
- Fix an issue with creating using `SubscriptionEvents.create!(attrs)`.
|
17
|
+
|
3
18
|
## Version 3.2.0 - June 14 2023
|
4
19
|
- Adds support for Faraday 2.7
|
5
20
|
- Removes support for Ruby 2.3, 2.4, and 2.5
|
data/chartmogul-ruby.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.description = 'Official Ruby client for ChartMogul\'s API'
|
15
15
|
spec.homepage = 'https://github.com/chartmogul/chartmogul-ruby'
|
16
16
|
spec.license = 'MIT'
|
17
|
-
spec.required_ruby_version = '>= 2.
|
17
|
+
spec.required_ruby_version = '>= 2.7'
|
18
18
|
|
19
19
|
spec.post_install_message = %q{
|
20
20
|
Starting October 29 2021, we are updating our developer libraries to support the enhanced API Access Management. Please use the same API Key for both API Token and Secret Key.
|
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_dependency 'faraday-retry', '~> 2.2'
|
32
32
|
|
33
33
|
spec.add_development_dependency 'bundler', '~> 2'
|
34
|
-
spec.add_development_dependency 'pry', '~> 0.
|
34
|
+
spec.add_development_dependency 'pry', '~> 0.14.2'
|
35
35
|
spec.add_development_dependency 'rake', '~> 13.0'
|
36
36
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
37
37
|
spec.add_development_dependency 'rubocop', '0.79'
|
@@ -25,7 +25,8 @@ module ChartMogul
|
|
25
25
|
req.body = JSON.dump(body_data)
|
26
26
|
end
|
27
27
|
end
|
28
|
-
|
28
|
+
parsed_body = resp.body.empty? ? '{}' : resp.body
|
29
|
+
ChartMogul::Utils::JSONParser.parse(parsed_body, immutable_keys: immutable_keys)
|
29
30
|
end
|
30
31
|
|
31
32
|
def custom!(http_method, http_path, body_data = {})
|
data/lib/chartmogul/contact.rb
CHANGED
@@ -34,6 +34,7 @@ module ChartMogul
|
|
34
34
|
|
35
35
|
def self.merge!(into_uuid:, from_uuid:)
|
36
36
|
custom!(:post, "/v1/contacts/#{into_uuid}/merge/#{from_uuid}")
|
37
|
+
true
|
37
38
|
end
|
38
39
|
|
39
40
|
def serialize_for_write
|
@@ -61,9 +62,5 @@ module ChartMogul
|
|
61
62
|
include Concerns::PageableWithCursor
|
62
63
|
|
63
64
|
set_entry_class Contact
|
64
|
-
|
65
|
-
def next(options = {})
|
66
|
-
Contacts.all(options.merge(cursor: cursor))
|
67
|
-
end
|
68
65
|
end
|
69
66
|
end
|
data/lib/chartmogul/customer.rb
CHANGED
@@ -34,6 +34,8 @@ module ChartMogul
|
|
34
34
|
writeable_attr :data_source_uuid
|
35
35
|
writeable_attr :lead_created_at, type: :time
|
36
36
|
writeable_attr :free_trial_started_at, type: :time
|
37
|
+
writeable_attr :owner
|
38
|
+
writeable_attr :primary_contact
|
37
39
|
|
38
40
|
include API::Actions::Create
|
39
41
|
include API::Actions::Custom
|
@@ -53,6 +55,15 @@ module ChartMogul
|
|
53
55
|
all(external_id: external_id).first
|
54
56
|
end
|
55
57
|
|
58
|
+
def self.merge!(into_uuid:, from_uuid:)
|
59
|
+
options = {
|
60
|
+
from: { customer_uuid: from_uuid },
|
61
|
+
into: { customer_uuid: into_uuid }
|
62
|
+
}
|
63
|
+
custom!(:post, '/v1/customers/merges', options)
|
64
|
+
true
|
65
|
+
end
|
66
|
+
|
56
67
|
def subscriptions(options = {})
|
57
68
|
@subscriptions ||= ChartMogul::Subscription.all(uuid, options)
|
58
69
|
end
|
@@ -109,7 +120,7 @@ module ChartMogul
|
|
109
120
|
def remove_custom_attributes!(*custom_attrs)
|
110
121
|
self.custom_attributes = custom_without_assign!(:delete,
|
111
122
|
"/v1/customers/#{uuid}/attributes/custom",
|
112
|
-
custom: custom_attrs)
|
123
|
+
custom: custom_attrs)
|
113
124
|
end
|
114
125
|
|
115
126
|
def merge_into!(other_customer)
|
@@ -146,6 +157,7 @@ module ChartMogul
|
|
146
157
|
include API::Actions::Custom
|
147
158
|
include Concerns::Pageable
|
148
159
|
include Concerns::Pageable2
|
160
|
+
include Concerns::PageableWithCursor
|
149
161
|
|
150
162
|
set_entry_class Customer
|
151
163
|
|
@@ -17,6 +17,7 @@ module ChartMogul
|
|
17
17
|
include API::Actions::All
|
18
18
|
include API::Actions::Create
|
19
19
|
include Concerns::Pageable2
|
20
|
+
include Concerns::PageableWithCursor
|
20
21
|
|
21
22
|
def serialize_invoices
|
22
23
|
map(&:serialize_for_write)
|
@@ -26,6 +27,10 @@ module ChartMogul
|
|
26
27
|
super(options.merge(customer_uuid: customer_uuid))
|
27
28
|
end
|
28
29
|
|
30
|
+
def next(options = {})
|
31
|
+
CustomerInvoices.all(customer_uuid, options.merge(cursor: cursor))
|
32
|
+
end
|
33
|
+
|
29
34
|
def self.destroy_all!(data_source_uuid, customer_uuid)
|
30
35
|
path = ChartMogul::ResourcePath.new('v1/data_sources/:data_source_uuid/customers/:customer_uuid/invoices')
|
31
36
|
handling_errors do
|
@@ -34,7 +39,6 @@ module ChartMogul
|
|
34
39
|
true
|
35
40
|
end
|
36
41
|
|
37
|
-
|
38
42
|
def_delegators :invoices, :each, :[], :<<, :size, :length, :empty?, :first
|
39
43
|
|
40
44
|
private
|
data/lib/chartmogul/invoice.rb
CHANGED
@@ -26,12 +26,17 @@ module ChartMogul
|
|
26
26
|
|
27
27
|
include Concerns::Entries
|
28
28
|
include Concerns::Pageable
|
29
|
+
include Concerns::PageableWithCursor
|
29
30
|
|
30
31
|
set_entry_class Activity
|
31
32
|
|
32
33
|
def self.all(customer_uuid, options = {})
|
33
34
|
super(options.merge(customer_uuid: customer_uuid))
|
34
35
|
end
|
36
|
+
|
37
|
+
def next(customer_uuid, options = {})
|
38
|
+
Activities.all(customer_uuid, options.merge(cursor: cursor))
|
39
|
+
end
|
35
40
|
end
|
36
41
|
end
|
37
42
|
end
|
@@ -29,12 +29,17 @@ module ChartMogul
|
|
29
29
|
|
30
30
|
include Concerns::Entries
|
31
31
|
include Concerns::Pageable
|
32
|
+
include Concerns::PageableWithCursor
|
32
33
|
|
33
34
|
set_entry_class Subscription
|
34
35
|
|
35
36
|
def self.all(customer_uuid, options = {})
|
36
37
|
super(options.merge(customer_uuid: customer_uuid))
|
37
38
|
end
|
39
|
+
|
40
|
+
def next(customer_uuid, options = {})
|
41
|
+
Subscriptions.all(customer_uuid, options.merge(cursor: cursor))
|
42
|
+
end
|
38
43
|
end
|
39
44
|
end
|
40
45
|
end
|
data/lib/chartmogul/plan.rb
CHANGED
@@ -10,8 +10,19 @@ module ChartMogul
|
|
10
10
|
|
11
11
|
include Concerns::Entries
|
12
12
|
include Concerns::Pageable2
|
13
|
+
include Concerns::PageableWithCursor
|
14
|
+
include API::Actions::Custom
|
13
15
|
|
14
16
|
set_entry_class Plan
|
17
|
+
|
18
|
+
def self.all(plan_group_uuid, options = {})
|
19
|
+
super(options.merge(plan_group_uuid: plan_group_uuid))
|
20
|
+
end
|
21
|
+
|
22
|
+
def next(plan_group_uuid, options = {})
|
23
|
+
path = ChartMogul::ResourcePath.new("/v1/plan_groups/#{plan_group_uuid}/plans")
|
24
|
+
custom!(:get, path.apply_with_get_params(options.merge(cursor: cursor)))
|
25
|
+
end
|
15
26
|
end
|
16
27
|
end
|
17
28
|
end
|
@@ -9,6 +9,8 @@ module ChartMogul
|
|
9
9
|
|
10
10
|
class RequiredParameterMissing < StandardError; end
|
11
11
|
|
12
|
+
DEPRECATED_PARAMETER = 'page'
|
13
|
+
|
12
14
|
def initialize(path)
|
13
15
|
@path = path
|
14
16
|
@named_params = path.scan(/:\w+/).each_with_object({}) do |named_param, hash|
|
@@ -22,7 +24,6 @@ module ChartMogul
|
|
22
24
|
|
23
25
|
# For path = '/hello/:hello_id/say' & params = { hello_id: 1, search: 'cat' }
|
24
26
|
# it will return '/hello/1/say?search=cat'
|
25
|
-
|
26
27
|
def apply_with_get_params(params = {})
|
27
28
|
base_path = apply_named_params(params)
|
28
29
|
get_params = params.reject { |param_name| named_params.values.include?(param_name) }
|
@@ -33,6 +34,10 @@ module ChartMogul
|
|
33
34
|
private
|
34
35
|
|
35
36
|
def apply_named_params(params)
|
37
|
+
if params.keys.map(&:to_s).include?(DEPRECATED_PARAMETER)
|
38
|
+
raise(ChartMogul::DeprecatedParameterError, "#{DEPRECATED_PARAMETER} is deprecated.")
|
39
|
+
end
|
40
|
+
|
36
41
|
path.dup.tap do |path|
|
37
42
|
named_params.each do |named_param, param_key|
|
38
43
|
unless params.key?(param_key)
|
@@ -55,11 +55,16 @@ module ChartMogul
|
|
55
55
|
|
56
56
|
include Concerns::Entries
|
57
57
|
include Concerns::Pageable2
|
58
|
+
include Concerns::PageableWithCursor
|
58
59
|
|
59
60
|
set_entry_class Subscription
|
60
61
|
|
61
62
|
def self.all(customer_uuid, options = {})
|
62
63
|
super(options.merge(customer_uuid: customer_uuid))
|
63
64
|
end
|
65
|
+
|
66
|
+
def next(customer_uuid, options = {})
|
67
|
+
Subscriptions.all(customer_uuid, options.merge(cursor: cursor))
|
68
|
+
end
|
64
69
|
end
|
65
70
|
end
|
data/lib/chartmogul/version.rb
CHANGED
data/lib/chartmogul.rb
CHANGED
@@ -18,6 +18,7 @@ require 'chartmogul/errors/resource_invalid_error'
|
|
18
18
|
require 'chartmogul/errors/schema_invalid_error'
|
19
19
|
require 'chartmogul/errors/server_error'
|
20
20
|
require 'chartmogul/errors/unauthorized_error'
|
21
|
+
require 'chartmogul/errors/deprecated_parameter_error'
|
21
22
|
|
22
23
|
require 'chartmogul/config_attributes'
|
23
24
|
require 'chartmogul/configuration'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chartmogul-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Petr Kopac
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.14.2
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.14.2
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -197,104 +197,6 @@ files:
|
|
197
197
|
- bin/setup
|
198
198
|
- changelog.md
|
199
199
|
- chartmogul-ruby.gemspec
|
200
|
-
- fixtures/vcr_cassettes/ChartMogul_APIResource/connection/works_in_a_threaded_environment.yml
|
201
|
-
- fixtures/vcr_cassettes/ChartMogul_APIResource/connection/works_when_credentials_are_updated.yml
|
202
|
-
- fixtures/vcr_cassettes/ChartMogul_Account/returns_details_of_current_account.yml
|
203
|
-
- fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/creates_contact_correctly.yml
|
204
|
-
- fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/destroys_contact_correctly.yml
|
205
|
-
- fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/merges_contact_correctly.yml
|
206
|
-
- fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/paginates_correctly.yml
|
207
|
-
- fixtures/vcr_cassettes/ChartMogul_Contact/API_Interactions/updates_contact_correctly.yml
|
208
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/adds_custom_attributes.yml
|
209
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/adds_required_tags.yml
|
210
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/can_page_through_search_endpoint.yml
|
211
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/correctly_handles_a_422_response.yml
|
212
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/correctly_interracts_with_the_API.yml
|
213
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/creates_a_contact_belonging_to_the_customer_correctly.yml
|
214
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/lists_the_contacts_belonging_to_the_customer_correctly.yml
|
215
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/merges_customers.yml
|
216
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_401_if_invalid_credentials.yml
|
217
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_404_if_no_customers_found.yml
|
218
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/raises_422_for_update_with_invalid_data.yml
|
219
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/removes_custom_attributes.yml
|
220
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/removes_tags.yml
|
221
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/respects_camel_case_for_all_customers_endpoint.yml
|
222
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_all_customers_through_list_all_endpoint.yml
|
223
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_customer_through_retrieve_endpoint.yml
|
224
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/returns_right_customers_through_search_endpoint.yml
|
225
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_custom_attributes.yml
|
226
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_customer.yml
|
227
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/API_Interactions/updates_customer_using_class_method.yml
|
228
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/_find_by_external_id/when_external_id_is_provided/returns_matching_user_if_exists.yml
|
229
|
-
- fixtures/vcr_cassettes/ChartMogul_Customer/_find_by_external_id/when_external_id_is_provided/returns_nil_if_customer_does_not_exist.yml
|
230
|
-
- fixtures/vcr_cassettes/ChartMogul_CustomerInvoices/API_Interactions/correctly_interracts_with_the_API.yml
|
231
|
-
- fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_interracts_with_the_API.yml
|
232
|
-
- fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_raises_errors_on_404.yml
|
233
|
-
- fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/correctly_raises_errors_on_422.yml
|
234
|
-
- fixtures/vcr_cassettes/ChartMogul_DataSource/API_Interactions/retrieves_existing_data_source_matching_uuid.yml
|
235
|
-
- fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/deletes_an_invoice.yml
|
236
|
-
- fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/deletes_an_invoice_with_class_method.yml
|
237
|
-
- fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/raises_error_on_deleting_non-existing_invoice.yml
|
238
|
-
- fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/retrieves_existing_invoice_by_uuid.yml
|
239
|
-
- fixtures/vcr_cassettes/ChartMogul_Invoice/API_Interactions/returns_all_invoices_through_list_all_endpoint.yml
|
240
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_ARPA/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml
|
241
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_ARPA/behaves_like_Metrics_API_resource/should_have_entries.yml
|
242
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_ARR/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml
|
243
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_ARR/behaves_like_Metrics_API_resource/should_have_entries.yml
|
244
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_ASP/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml
|
245
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_ASP/behaves_like_Metrics_API_resource/should_have_entries.yml
|
246
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_ActivitiesExport/get_activities_export.yml
|
247
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_ActivitiesExport/post_activities_export.yml
|
248
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_Activity.yml
|
249
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_Activity/behaves_like_PageableWithAnchor/should_be_pageable.yml
|
250
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_Activity/should_have_Activity_entries.yml
|
251
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_AllKeyMetric/should_have_entries.yml
|
252
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_AllKeyMetric/should_have_summary.yml
|
253
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerChurnRate/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml
|
254
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerChurnRate/behaves_like_Metrics_API_resource/should_have_entries.yml
|
255
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerCount/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml
|
256
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_CustomerCount/behaves_like_Metrics_API_resource/should_have_entries.yml
|
257
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_Customers_Activity/behaves_like_Pageable/should_be_pageable.yml
|
258
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_Customers_Activity/should_have_Activity_entries.yml
|
259
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_Customers_Subscription/behaves_like_Pageable/should_be_pageable.yml
|
260
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_Customers_Subscription/should_have_Subscription_entries.yml
|
261
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_LTV/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml
|
262
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_LTV/behaves_like_Metrics_API_resource/should_have_entries.yml
|
263
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_MRR/behaves_like_Summary/should_have_summary.yml
|
264
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_MRR/should_have_entries.yml
|
265
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_MRRChurnRate/behaves_like_Metrics_API_resource/behaves_like_Summary/should_have_summary.yml
|
266
|
-
- fixtures/vcr_cassettes/ChartMogul_Metrics_MRRChurnRate/behaves_like_Metrics_API_resource/should_have_entries.yml
|
267
|
-
- fixtures/vcr_cassettes/ChartMogul_Ping/pings/and_fails_on_incorrect_credentials.yml
|
268
|
-
- fixtures/vcr_cassettes/ChartMogul_Ping/pings/and_fails_with_500_internal_server_error.yml
|
269
|
-
- fixtures/vcr_cassettes/ChartMogul_Ping/pings/and_fails_with_504_gateway_timeout_error.yml
|
270
|
-
- fixtures/vcr_cassettes/ChartMogul_Ping/pings/when_credentials_correct.yml
|
271
|
-
- fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/correctly_handles_a_422_error.yml
|
272
|
-
- fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/correctly_interacts_with_the_API.yml
|
273
|
-
- fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/deletes_existing_plan.yml
|
274
|
-
- fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/retrieves_existing_plan_by_uuid.yml
|
275
|
-
- fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/updates_existing_plan.yml
|
276
|
-
- fixtures/vcr_cassettes/ChartMogul_Plan/API_Interactions/updates_existing_plan_using_class_method.yml
|
277
|
-
- fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/correctly_handles_a_422_error.yml
|
278
|
-
- fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/deletes_a_plan_group.yml
|
279
|
-
- fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/retrieves_existing_plan_group_by_uuid.yml
|
280
|
-
- fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/returns_an_array_of_plan_groups.yml
|
281
|
-
- fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/updates_existing_plan_group_name.yml
|
282
|
-
- fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/updates_existing_plan_group_name_via_class_method.yml
|
283
|
-
- fixtures/vcr_cassettes/ChartMogul_PlanGroup/API_interactions/updates_existing_plan_group_plans.yml
|
284
|
-
- fixtures/vcr_cassettes/ChartMogul_PlanGroups_Plans/API_interactions/given_a_plan_group_uuid_returns_an_array_of_plans_in_the_plan_group.yml
|
285
|
-
- fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/connects_subscriptions.yml
|
286
|
-
- fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/correctly_interracts_with_the_API.yml
|
287
|
-
- fixtures/vcr_cassettes/ChartMogul_Subscription/API_Interactions/has_multiple_aliases.yml
|
288
|
-
- fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_has_time_objects/is_setting_the_cancellation_dates_of_the_subscription.yml
|
289
|
-
- fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_includes_invalid_entries/raises_an_exception.yml
|
290
|
-
- fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_includes_valid_entries/is_setting_the_cancellation_dates_of_the_subscription.yml
|
291
|
-
- fixtures/vcr_cassettes/ChartMogul_Subscription/_update_cancellation_dates/when_array_is_empty/makes_an_API_call_and_removes_the_cancellation_dates.yml
|
292
|
-
- fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/creates_a_new_subscription_event.yml
|
293
|
-
- fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/creates_a_new_subscription_event_through_initialization.yml
|
294
|
-
- fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/deletes_the_subscription_event.yml
|
295
|
-
- fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/lists_all_subscription_events.yml
|
296
|
-
- fixtures/vcr_cassettes/ChartMogul_SubscriptionEvent/API_interactions/updates_the_subscription_event.yml
|
297
|
-
- fixtures/vcr_cassettes/ChartMogul_Transactions_Payment/API_Interactions/correctly_interracts_with_the_API.yml
|
298
200
|
- lib/chartmogul.rb
|
299
201
|
- lib/chartmogul/account.rb
|
300
202
|
- lib/chartmogul/api/actions/all.rb
|
@@ -321,6 +223,7 @@ files:
|
|
321
223
|
- lib/chartmogul/enrichment/customer.rb
|
322
224
|
- lib/chartmogul/errors/chartmogul_error.rb
|
323
225
|
- lib/chartmogul/errors/configuration_error.rb
|
226
|
+
- lib/chartmogul/errors/deprecated_parameter_error.rb
|
324
227
|
- lib/chartmogul/errors/forbidden_error.rb
|
325
228
|
- lib/chartmogul/errors/not_found_error.rb
|
326
229
|
- lib/chartmogul/errors/resource_invalid_error.rb
|
@@ -377,7 +280,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
377
280
|
requirements:
|
378
281
|
- - ">="
|
379
282
|
- !ruby/object:Gem::Version
|
380
|
-
version: '2.
|
283
|
+
version: '2.7'
|
381
284
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
382
285
|
requirements:
|
383
286
|
- - ">="
|
data/fixtures/vcr_cassettes/ChartMogul_APIResource/connection/works_in_a_threaded_environment.yml
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: https://api.chartmogul.com/v1/ping
|
6
|
-
body:
|
7
|
-
encoding: UTF-8
|
8
|
-
string: "{}"
|
9
|
-
headers:
|
10
|
-
User-Agent:
|
11
|
-
- Faraday v0.17.3
|
12
|
-
Content-Type:
|
13
|
-
- application/json
|
14
|
-
Authorization:
|
15
|
-
- Basic hidden
|
16
|
-
response:
|
17
|
-
status:
|
18
|
-
code: 401
|
19
|
-
message: Unauthorized
|
20
|
-
headers:
|
21
|
-
server:
|
22
|
-
- nginx/1.10.1
|
23
|
-
date:
|
24
|
-
- Fri, 17 Jul 2020 08:25:06 GMT
|
25
|
-
content-type:
|
26
|
-
- application/json
|
27
|
-
transfer-encoding:
|
28
|
-
- chunked
|
29
|
-
connection:
|
30
|
-
- keep-alive
|
31
|
-
status:
|
32
|
-
- 401 Unauthorized
|
33
|
-
body:
|
34
|
-
encoding: UTF-8
|
35
|
-
string: '{"code":401,"message":"No valid API key provided","param":null}'
|
36
|
-
http_version:
|
37
|
-
recorded_at: Fri, 17 Jul 2020 08:25:06 GMT
|
38
|
-
- request:
|
39
|
-
method: get
|
40
|
-
uri: https://api.chartmogul.com/v1/ping
|
41
|
-
body:
|
42
|
-
encoding: UTF-8
|
43
|
-
string: "{}"
|
44
|
-
headers:
|
45
|
-
User-Agent:
|
46
|
-
- Faraday v0.17.3
|
47
|
-
Content-Type:
|
48
|
-
- application/json
|
49
|
-
Authorization:
|
50
|
-
- Basic hidden
|
51
|
-
response:
|
52
|
-
status:
|
53
|
-
code: 200
|
54
|
-
message: OK
|
55
|
-
headers:
|
56
|
-
server:
|
57
|
-
- nginx/1.10.1
|
58
|
-
date:
|
59
|
-
- Fri, 17 Jul 2020 08:25:11 GMT
|
60
|
-
content-type:
|
61
|
-
- application/json
|
62
|
-
transfer-encoding:
|
63
|
-
- chunked
|
64
|
-
connection:
|
65
|
-
- keep-alive
|
66
|
-
vary:
|
67
|
-
- Accept-Encoding, Accept-Encoding
|
68
|
-
status:
|
69
|
-
- 200 OK
|
70
|
-
access-control-allow-credentials:
|
71
|
-
- 'true'
|
72
|
-
body:
|
73
|
-
encoding: ASCII-8BIT
|
74
|
-
string: '{"data":"pong!"}'
|
75
|
-
http_version:
|
76
|
-
recorded_at: Fri, 17 Jul 2020 08:25:11 GMT
|
77
|
-
- request:
|
78
|
-
method: get
|
79
|
-
uri: https://api.chartmogul.com/v1/ping
|
80
|
-
body:
|
81
|
-
encoding: UTF-8
|
82
|
-
string: "{}"
|
83
|
-
headers:
|
84
|
-
User-Agent:
|
85
|
-
- Faraday v0.17.3
|
86
|
-
Content-Type:
|
87
|
-
- application/json
|
88
|
-
Authorization:
|
89
|
-
- Basic hidden
|
90
|
-
response:
|
91
|
-
status:
|
92
|
-
code: 401
|
93
|
-
message: Unauthorized
|
94
|
-
headers:
|
95
|
-
server:
|
96
|
-
- nginx/1.10.1
|
97
|
-
date:
|
98
|
-
- Fri, 17 Jul 2020 08:25:11 GMT
|
99
|
-
content-type:
|
100
|
-
- application/json
|
101
|
-
transfer-encoding:
|
102
|
-
- chunked
|
103
|
-
connection:
|
104
|
-
- keep-alive
|
105
|
-
status:
|
106
|
-
- 401 Unauthorized
|
107
|
-
body:
|
108
|
-
encoding: UTF-8
|
109
|
-
string: '{"code":401,"message":"No valid API key provided","param":null}'
|
110
|
-
http_version:
|
111
|
-
recorded_at: Fri, 17 Jul 2020 08:25:11 GMT
|
112
|
-
recorded_with: VCR 5.1.0
|