class Fryfro::App

Attributes

access_code[R]
created_at[R]
key[R]
name[R]
platform[R]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/fryfro/app.rb, line 5
def initialize(opts = {})
  # Mandatory
  @access_code = opts[:access_code] or raise ArgumentError, 'Provide an apiAccessCode'
  @key         = opts[:key]         or raise ArgumentError, 'Provide an apiKey'

  # Optional
  @name       = opts[:name]
  @platform   = opts[:platform]
  @created_at = opts[:created_at]
end

Public Instance Methods

event(opts = {}) click to toggle source
# File lib/fryfro/app.rb, line 31
def event(opts = {})
  raise ArgumentError, 'Provide an eventName' unless opts[:event_name] || opts['eventName']
  check_required_dates(opts)
  EventMetrics[:event].(@access_code, @key, opts)['eventMetrics']
end
events(opts = {}) click to toggle source
# File lib/fryfro/app.rb, line 26
def events(opts = {})
  check_required_dates(opts)
  EventMetrics[:summary].(@access_code, @key, opts)['eventMetrics']
end
info() click to toggle source
# File lib/fryfro/app.rb, line 16
def info
  AppInfo[:get_application].(@access_code, @key)['appInfo']
end
metric(metric, opts = {}) click to toggle source
# File lib/fryfro/app.rb, line 20
def metric(metric, opts = {})
  raise ArgumentError, 'Provide an eventName' unless metric
  check_required_dates(opts)
  AppMetrics[metric].(@access_code, @key, opts)['appMetrics']
end
raw_data(opts = {}) click to toggle source
# File lib/fryfro/app.rb, line 37
def raw_data(opts = {})
  check_params_overlap(opts)
  time_params?(opts) ? check_required_times(opts) : check_required_dates(opts)
  RawData[:events].(@access_code, @key, opts)
end

Private Instance Methods

check_params_overlap(opts) click to toggle source
# File lib/fryfro/app.rb, line 54
def check_params_overlap(opts)
  start_param = (opts[:start_date] || opts['startDate']) && (opts[:start_time] || opts['startTime'])
  end_param   = (opts[:end_date]   || opts['endDate'])   && (opts[:end_time]   || opts['endTime'])
  raise ArgumentError, 'Provide a startDate/endDate or a startTime/endTime only' if start_param || end_param
end
check_required_dates(opts) click to toggle source
# File lib/fryfro/app.rb, line 44
def check_required_dates(opts)
  raise ArgumentError, 'Provide an startDate' unless opts[:start_date] || opts['startDate']
  raise ArgumentError, 'Provide an endDate'   unless opts[:end_date]   || opts['endDate']
end
check_required_times(opts) click to toggle source
# File lib/fryfro/app.rb, line 49
def check_required_times(opts)
  raise ArgumentError, 'Provide an startTime' unless opts[:start_time] || opts['startTime']
  raise ArgumentError, 'Provide an endTime'   unless opts[:end_time]   || opts['endTime']
end
time_params?(opts) click to toggle source
# File lib/fryfro/app.rb, line 60
def time_params?(opts)
  opts[:start_time] || opts['startTime'] || opts[:end_time] || opts['endTime']
end