Module: ChartMogul::Metrics

Defined in:
lib/chartmogul/metrics/arr.rb,
lib/chartmogul/metrics/asp.rb,
lib/chartmogul/metrics/ltv.rb,
lib/chartmogul/metrics/mrr.rb,
lib/chartmogul/metrics/arpa.rb,
lib/chartmogul/metrics/base.rb,
lib/chartmogul/metrics/activity.rb,
lib/chartmogul/metrics/subscription.rb,
lib/chartmogul/metrics/customer_count.rb,
lib/chartmogul/metrics/mrr_churn_rate.rb,
lib/chartmogul/metrics/all_key_metrics.rb,
lib/chartmogul/metrics/customer_churn_rate.rb

Defined Under Namespace

Classes: ARPA, ARPAs, ARR, ARRs, ASP, ASPs, Activities, Activity, AllKeyMetric, AllKeyMetrics, CustomerChurnRate, CustomerChurnRates, CustomerCount, CustomerCounts, LTV, LTVs, MRR, MRRChurnRate, MRRChurnRates, MRRs, Subscription, Subscriptions

Class Method Summary collapse

Class Method Details

.all(options = {}) ⇒ Object



3
4
5
# File 'lib/chartmogul/metrics/base.rb', line 3

def self.all(options = {})
  ChartMogul::Metrics::AllKeyMetrics.all(preprocess_params(options))
end

.arpa(options = {}) ⇒ Object



7
8
9
# File 'lib/chartmogul/metrics/base.rb', line 7

def self.arpa(options = {})
  ChartMogul::Metrics::ARPAs.all(preprocess_params(options))
end

.arr(options = {}) ⇒ Object



11
12
13
# File 'lib/chartmogul/metrics/base.rb', line 11

def self.arr(options = {})
  ChartMogul::Metrics::ARRs.all(preprocess_params(options))
end

.asp(options = {}) ⇒ Object



15
16
17
# File 'lib/chartmogul/metrics/base.rb', line 15

def self.asp(options = {})
  ChartMogul::Metrics::ASPs.all(preprocess_params(options))
end

.customer_churn_rate(options = {}) ⇒ Object



19
20
21
# File 'lib/chartmogul/metrics/base.rb', line 19

def self.customer_churn_rate(options = {})
  ChartMogul::Metrics::CustomerChurnRates.all(preprocess_params(options))
end

.customer_count(options = {}) ⇒ Object



23
24
25
# File 'lib/chartmogul/metrics/base.rb', line 23

def self.customer_count(options = {})
  ChartMogul::Metrics::CustomerCounts.all(preprocess_params(options))
end

.ltv(options = {}) ⇒ Object



31
32
33
# File 'lib/chartmogul/metrics/base.rb', line 31

def self.ltv(options = {})
  ChartMogul::Metrics::LTVs.all(preprocess_params(options))
end

.mrr(options = {}) ⇒ Object



27
28
29
# File 'lib/chartmogul/metrics/base.rb', line 27

def self.mrr(options = {})
  ChartMogul::Metrics::MRRs.all(preprocess_params(options))
end

.mrr_churn_rate(options = {}) ⇒ Object



35
36
37
# File 'lib/chartmogul/metrics/base.rb', line 35

def self.mrr_churn_rate(options = {})
  ChartMogul::Metrics::MRRChurnRates.all(preprocess_params(options))
end

.preprocess_params(options) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/chartmogul/metrics/base.rb', line 41

def self.preprocess_params(options)
  %i[start_date end_date].each do |param_name|
    options[param_name.to_s.tr('_', '-')] = options.delete(param_name) if options[param_name]
  end

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