class Saucy::Kiss::Observer
Public Class Methods
new(api_key)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 7 def initialize(api_key) @api_key = api_key end
Public Instance Methods
account_created(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 23 def account_created(data) javascript_client(data).record('Signed Up', { 'Plan Name' => data[:account].plan.name, 'Plan Price' => data[:account].plan.price, 'Is Trial Plan?' => data[:account].plan.trial }) end
activated(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 65 def activated(data) plan = data[:account].plan http_client.record(account_identifier(data), 'Activated', { 'Plan Name' => plan.name, 'Plan Price' => plan.price, 'Is Trial Plan?'=> plan.trial }) end
billed(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 49 def billed(data) http_client.record(account_identifier(data), 'Billed', { 'Billing Description' => "Monthly billing for #{data[:account].plan.name} plan", 'Billing Amount' => data[:account].plan.price }) end
canceled(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 56 def canceled(data) plan = data[:account].plan javascript_client(data).record('Canceled', { 'Plan Name' => plan.name, 'Plan Price' => plan.price, 'Is Trial Plan?'=> plan.trial }) end
plan_downgraded(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 40 def plan_downgraded(data) javascript_client(data).record('Downgraded', { 'Previous Plan Name' => data[:from_plan].name, 'Plan Name' => data[:to_plan].name, 'Plan Price' => data[:to_plan].price, 'Is Trial Plan?'=> data[:to_plan].trial, }) end
plan_list_viewed(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 19 def plan_list_viewed(data) javascript_client(data).record('Viewed Plan List') end
plan_upgraded(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 31 def plan_upgraded(data) javascript_client(data).record('Upgraded', { 'Previous Plan Name' => data[:from_plan].name, 'Plan Name' => data[:to_plan].name, 'Plan Price' => data[:to_plan].price, 'Is Trial Plan?'=> data[:to_plan].trial, }) end
plan_viewed(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 11 def plan_viewed(data) javascript_client(data).record('Viewed Plan', { 'Plan Name' => data[:plan].name, 'Plan Price' => data[:plan].price, 'Is Trial Plan?' => data[:plan].trial }) end
Private Instance Methods
account_identifier(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 91 def account_identifier(data) "account-#{data[:account].id}" end
http_client()
click to toggle source
# File lib/saucy/kiss/observer.rb, line 95 def http_client Kissmetrics::HttpClient.new(@api_key) end
javascript_client(data)
click to toggle source
# File lib/saucy/kiss/observer.rb, line 76 def javascript_client(data) Snogmetrics::KissmetricsApi.new(@api_key, data[:request].session, snogmetrics_output_strategy) end
snogmetrics_output_strategy()
click to toggle source
# File lib/saucy/kiss/observer.rb, line 80 def snogmetrics_output_strategy case Rails.env.to_s when 'development' :console_log when 'test' :array else :live end end