Class: ChartMogul::Metrics::Customers::Subscriptions
- Inherits:
-
APIResource
- Object
- Object
- APIResource
- ChartMogul::Metrics::Customers::Subscriptions
- Defined in:
- lib/chartmogul/metrics/customers/subscription.rb
Constant Summary
Constants inherited from APIResource
APIResource::BACKOFF_FACTOR, APIResource::INTERVAL, APIResource::INTERVAL_RANDOMNESS, APIResource::MAX_INTERVAL, APIResource::RETRY_EXCEPTIONS, APIResource::RETRY_STATUSES, APIResource::THREAD_CONNECTION_KEY
Class Method Summary collapse
- .all(customer_uuid, options = {}) ⇒ Object
- .connect(data_source_uuid, customer_uuid, subscriptions) ⇒ Object
- .connect_disconnect_body(data_source_uuid, subscriptions) ⇒ Object
- .disconnect(data_source_uuid, customer_uuid, subscriptions) ⇒ Object
Instance Method Summary collapse
Methods included from Concerns::PageableWithCursor
Methods included from Concerns::Pageable
Methods included from Concerns::Entries
Methods included from API::Actions::Custom
#custom!, #custom_without_assign!, included
Methods inherited from APIResource
build_connection, connection, custom_with_query_params!, #custom_with_query_params!, extract_query_params, #extract_query_params, handle_other_error, handle_request_error, handling_errors, immutable_keys, #path_with_query_params, query_params, set_immutable_keys, set_resource_name, set_resource_path, set_resource_root_key, writeable_query_param
Methods inherited from Object
#allowed_for_write?, #assign_all_attributes, #assign_writeable_attributes, attributes, define_private_writer, define_reader, define_writer, #initialize, #instance_attributes, new_from_json, readonly_attr, #serialize_for_write, #serialized_value_for_attr, writeable_attr, writeable_attributes
Constructor Details
This class inherits a constructor from ChartMogul::Object
Class Method Details
.all(customer_uuid, options = {}) ⇒ Object
48 49 50 |
# File 'lib/chartmogul/metrics/customers/subscription.rb', line 48 def self.all(customer_uuid, = {}) super(.merge(customer_uuid: customer_uuid)) end |
.connect(data_source_uuid, customer_uuid, subscriptions) ⇒ Object
52 53 54 55 56 |
# File 'lib/chartmogul/metrics/customers/subscription.rb', line 52 def self.connect(data_source_uuid, customer_uuid, subscriptions) custom!(:post, "/v1/customers/#{customer_uuid}/connect_subscriptions", connect_disconnect_body(data_source_uuid, subscriptions)) end |
.connect_disconnect_body(data_source_uuid, subscriptions) ⇒ Object
64 65 66 67 68 69 70 71 72 73 |
# File 'lib/chartmogul/metrics/customers/subscription.rb', line 64 def self.connect_disconnect_body(data_source_uuid, subscriptions) { subscriptions: subscriptions.uniq.map do |subscription| { data_source_uuid: data_source_uuid, uuid: subscription.uuid } end } end |
.disconnect(data_source_uuid, customer_uuid, subscriptions) ⇒ Object
58 59 60 61 62 |
# File 'lib/chartmogul/metrics/customers/subscription.rb', line 58 def self.disconnect(data_source_uuid, customer_uuid, subscriptions) custom!(:post, "/v1/customers/#{customer_uuid}/disconnect_subscriptions", connect_disconnect_body(data_source_uuid, subscriptions)) end |
Instance Method Details
#next(customer_uuid, options = {}) ⇒ Object
75 76 77 |
# File 'lib/chartmogul/metrics/customers/subscription.rb', line 75 def next(customer_uuid, = {}) Subscriptions.all(customer_uuid, .merge(cursor: cursor)) end |