class BaremetricsAPI::Endpoint::Metrics

Constants

PATH

Public Class Methods

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

Public Instance Methods

show_customers(metric:, start_date:, end_date:) click to toggle source
# File lib/baremetrics_api/endpoint/metrics.rb, line 18
def show_customers(metric:, start_date:, end_date:)
  JSON.parse(show_customers_request(metric, start_date, end_date).body).with_indifferent_access
end
show_metric(metric:, start_date:, end_date:, compare_to: 30, page: nil) click to toggle source
# File lib/baremetrics_api/endpoint/metrics.rb, line 14
def show_metric(metric:, start_date:, end_date:, compare_to: 30, page: nil)
  JSON.parse(show_metric_request(metric, start_date, end_date, compare_to, page).body).with_indifferent_access
end
show_plan_breakout(metric:, start_date:, end_date:) click to toggle source
# File lib/baremetrics_api/endpoint/metrics.rb, line 22
def show_plan_breakout(metric:, start_date:, end_date:)
  JSON.parse(show_plan_breakout_request(metric, start_date, end_date).body).with_indifferent_access
end
show_summary(start_date:, end_date:, page: nil) click to toggle source
# File lib/baremetrics_api/endpoint/metrics.rb, line 10
def show_summary(start_date:, end_date:, page: nil)
  JSON.parse(show_summary_request(start_date, end_date, page).body).with_indifferent_access
end

Private Instance Methods

show_customers_request(metric, start_date, end_date) click to toggle source
# File lib/baremetrics_api/endpoint/metrics.rb, line 59
def show_customers_request(metric, start_date, end_date)
  query_params = {
    per_page: @client.configuration.response_limit,
    start_date: start_date,
    end_date: end_date
  }

  @client.connection.get do |req|
    req.url "#{PATH}/#{metric}/customers"
    req.params = query_params
  end
end
show_metric_request(metric, start_date, end_date, compare_to, page) click to toggle source
# File lib/baremetrics_api/endpoint/metrics.rb, line 43
def show_metric_request(metric, start_date, end_date, compare_to, page)
  query_params = {
    per_page: @client.configuration.response_limit,
    start_date: start_date,
    end_date: end_date,
    compare_to: compare_to
  }

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

  @client.connection.get do |req|
    req.url "#{PATH}/#{metric}"
    req.params = query_params
  end
end
show_plan_breakout_request(metric, start_date, end_date) click to toggle source
# File lib/baremetrics_api/endpoint/metrics.rb, line 72
def show_plan_breakout_request(metric, start_date, end_date)
  query_params = {
    per_page: @client.configuration.response_limit,
    start_date: start_date,
    end_date: end_date
  }

  @client.connection.get do |req|
    req.url "#{PATH}/#{metric}/plans"
    req.params = query_params
  end
end
show_summary_request(start_date, end_date, page) click to toggle source
# File lib/baremetrics_api/endpoint/metrics.rb, line 28
def show_summary_request(start_date, end_date, page)
  query_params = {
    per_page: @client.configuration.response_limit,
    start_date: start_date,
    end_date: end_date
  }

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

  @client.connection.get do |req|
    req.url PATH
    req.params = query_params
  end
end