class BaremetricsAPI::Endpoint::Plans

Constants

PATH

Public Class Methods

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

Public Instance Methods

create_plan(source_id:, plan_params:) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 22
def create_plan(source_id:, plan_params:)
  JSON.parse(create_plan_request(source_id, plan_params).body).with_indifferent_access
end
delete_plan(oid:, source_id:) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 26
def delete_plan(oid:, source_id:)
  JSON.parse(delete_plan_request(oid, source_id).body).with_indifferent_access
end
list_plans(source_id: nil, search: nil, page: nil) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 10
def list_plans(source_id: nil, search: nil, page: nil)
  JSON.parse(list_plans_request(source_id, search, page).body).with_indifferent_access
end
show_plan(source_id:, oid:) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 14
def show_plan(source_id:, oid:)
  JSON.parse(show_plan_request(source_id, oid).body).with_indifferent_access
end
update_plan(plan_oid:, source_id:, plan_params:) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 18
def update_plan(plan_oid:, source_id:, plan_params:)
  JSON.parse(update_plan_request(plan_oid, source_id, plan_params).body).with_indifferent_access
end

Private Instance Methods

create_plan_request(source_id, plan_params) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 59
def create_plan_request(source_id, plan_params)
  @client.connection.post do |req|
    req.url "#{source_id}/#{PATH}"
    req.body = plan_params
  end
end
delete_plan_request(oid, source_id) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 66
def delete_plan_request(oid, source_id)
  @client.connection.delete "#{source_id}/#{PATH}/#{oid}"
end
list_plans_request(source_id, search, page) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 32
def list_plans_request(source_id, search, page)
  query_params = {
    per_page: @client.configuration.response_limit
  }

  query_params[:search] = search unless search.nil?
  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_plan_request(source_id, oid) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 46
def show_plan_request(source_id, oid)
  @client.connection.get do |req|
    req.url "#{source_id}/#{PATH}/#{oid}"
  end
end
update_plan_request(plan_oid, source_id, plan_params) click to toggle source
# File lib/baremetrics_api/endpoint/plans.rb, line 52
def update_plan_request(plan_oid, source_id, plan_params)
  @client.connection.put do |req|
    req.url "#{source_id}/#{PATH}/#{plan_oid}"
    req.body = plan_params
  end
end