module ChartMogul::Metrics

Public Class Methods

all(options = {}) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 5
def self.all(options = {})
  ChartMogul::Metrics::AllKeyMetrics.all(preprocess_params(options))
end
arpa(options = {}) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 9
def self.arpa(options = {})
  ChartMogul::Metrics::ARPAs.all(preprocess_params(options))
end
arr(options = {}) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 13
def self.arr(options = {})
  ChartMogul::Metrics::ARRs.all(preprocess_params(options))
end
asp(options = {}) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 17
def self.asp(options = {})
  ChartMogul::Metrics::ASPs.all(preprocess_params(options))
end
customer_churn_rate(options = {}) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 21
def self.customer_churn_rate(options = {})
  ChartMogul::Metrics::CustomerChurnRates.all(preprocess_params(options))
end
customer_count(options = {}) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 25
def self.customer_count(options = {})
  ChartMogul::Metrics::CustomerCounts.all(preprocess_params(options))
end
ltv(options = {}) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 33
def self.ltv(options = {})
  ChartMogul::Metrics::LTVs.all(preprocess_params(options))
end
mrr(options = {}) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 29
def self.mrr(options = {})
  ChartMogul::Metrics::MRRs.all(preprocess_params(options))
end
mrr_churn_rate(options = {}) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 37
def self.mrr_churn_rate(options = {})
  ChartMogul::Metrics::MRRChurnRates.all(preprocess_params(options))
end

Private Class Methods

preprocess_params(options) click to toggle source
# File lib/chartmogul/metrics/base.rb, line 43
def self.preprocess_params(options)
  %i[start_date end_date].each do |param_name|
    if options[param_name]
      options[param_name.to_s.tr('_', '-')] = options.delete(param_name)
    end
  end

  %i[geo plans].each do |param_name|
    if options[param_name]&.is_a?(Array)
      options[param_name] = options[param_name].join(',')
    end
  end
  options
end