class BaremetricsAPI::Endpoint::Subscriptions

Constants

PATH

Public Class Methods

new(client) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 6
def initialize(client)
  @client = client
end

Public Instance Methods

cancel_subscription(subscription_oid:, source_id:, canceled_at:) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 22
def cancel_subscription(subscription_oid:, source_id:, canceled_at:)
  JSON.parse(cancel_subscription_request(subscription_oid, source_id, canceled_at).body).with_indifferent_access
end
create_subscription(source_id:, subscription_params:) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 26
def create_subscription(source_id:, subscription_params:)
  JSON.parse(create_subscription_request(source_id, subscription_params).body).with_indifferent_access
end
delete_subscription(oid:, source_id:) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 30
def delete_subscription(oid:, source_id:)
  JSON.parse(delete_subscription_request(oid, source_id).body).with_indifferent_access
end
list_subscriptions(source_id: nil, customer_oid: nil, page: nil) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 10
def list_subscriptions(source_id: nil, customer_oid: nil, page: nil)
  JSON.parse(list_subscriptions_request(source_id, customer_oid, page).body).with_indifferent_access
end
show_subscription(source_id:, oid:) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 14
def show_subscription(source_id:, oid:)
  JSON.parse(show_subscription_request(source_id, oid).body).with_indifferent_access
end
update_subscription(subscription_oid:, source_id:, subscription_params:) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 18
def update_subscription(subscription_oid:, source_id:, subscription_params:)
  JSON.parse(update_subscription_request(subscription_oid, source_id, subscription_params).body).with_indifferent_access
end

Private Instance Methods

cancel_subscription_request(subscription_oid, source_id, canceled_at) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 63
def cancel_subscription_request(subscription_oid, source_id, canceled_at)
  @client.connection.put do |req|
    req.url "#{source_id}/#{PATH}/#{subscription_oid}/cancel"
    req.body = { canceled_at: canceled_at }
  end
end
create_subscription_request(source_id, subscription_params) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 70
def create_subscription_request(source_id, subscription_params)
  @client.connection.post do |req|
    req.url "#{source_id}/#{PATH}"
    req.body = subscription_params
  end
end
delete_subscription_request(oid, source_id) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 77
def delete_subscription_request(oid, source_id)
  @client.connection.delete "#{source_id}/#{PATH}/#{oid}"
end
list_subscriptions_request(source_id, customer_oid, page) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 36
def list_subscriptions_request(source_id, customer_oid, page)
  query_params = {
    per_page: @client.configuration.response_limit,
    customer_oid: customer_oid
  }

  query_params[:page] = page unless page.nil?

  @client.connection.get do |req|
    req.url source_id.nil? ? PATH : "#{source_id}/#{PATH}"
    req.params = query_params
  end
end
show_subscription_request(source_id, oid) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 50
def show_subscription_request(source_id, oid)
  @client.connection.get do |req|
    req.url "#{source_id}/#{PATH}/#{oid}"
  end
end
update_subscription_request(subscription_oid, source_id, subscription_params) click to toggle source
# File lib/baremetrics_api/endpoint/subscriptions.rb, line 56
def update_subscription_request(subscription_oid, source_id, subscription_params)
  @client.connection.put do |req|
    req.url "#{source_id}/#{PATH}/#{subscription_oid}"
    req.body = subscription_params
  end
end