Module: Lascivious

Defined in:
lib/engine.rb,
lib/lascivious.rb

Overview

:nodoc:

Defined Under Namespace

Classes: Engine

Constant Summary collapse

@@api_key =
""

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.setup {|_self| ... } ⇒ Object

For use in config so we can do Lascivious.setup

Yields:

  • (_self)

Yield Parameters:

  • _self (Lascivious)

    the object that the method was called on



12
13
14
# File 'lib/lascivious.rb', line 12

def self.setup
  yield self
end

Instance Method Details

#kiss_alias(value) ⇒ Object

Weak identifier (e.g. cookie)



60
61
62
# File 'lib/lascivious.rb', line 60

def kiss_alias(value)
  kiss_metric :alias, value
end

#kiss_identify(value) ⇒ Object

Strong identifier (e.g. user ID)



55
56
57
# File 'lib/lascivious.rb', line 55

def kiss_identify(value)
  kiss_metric :identify, value
end

#kiss_metric(event_type, value) ⇒ Object

Record an arbitrary event-type and its value.



65
66
67
68
# File 'lib/lascivious.rb', line 65

def kiss_metric(event_type, value)
  flash[:kiss_metrics] ||= []
  flash[:kiss_metrics] << { event_type => value }
end

#kiss_metrics_api_keyObject

Get kiss metrics key



71
72
73
# File 'lib/lascivious.rb', line 71

def kiss_metrics_api_key
  return Lascivious.api_key
end

#kiss_metrics_email_beacon(email_address, variation, event_type = "Opened Email") ⇒ Object

The email beacon



22
23
24
25
26
27
28
29
# File 'lib/lascivious.rb', line 22

def kiss_metrics_email_beacon(email_address, variation, event_type = "Opened Email")
  render :partial => "lascivious/email_beacon", :locals => {
    :event_type => event_type,
    :api_key => kiss_metrics_api_key,
    :email => email_address,
    :variation => variation
  }
end

#kiss_metrics_flashObject

Flash for all kiss metrics



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/lascivious.rb', line 32

def kiss_metrics_flash
  messages = flash[:kiss_metrics]
  unless messages.blank? || messages.empty?
    return messages.map do |type_hash|
      type_hash.map do |e|
        %Q{_kmq.push(['#{e.first.to_s}', '#{e.last.to_s}']);}
      end
    end.flatten.join("\n")
  end
  return nil
end

#kiss_metrics_tagObject

The main kiss metrics javascript & stuff



17
18
19
# File 'lib/lascivious.rb', line 17

def kiss_metrics_tag
  render :partial => "lascivious/header"
end

#kiss_record(value) ⇒ Object

Trigger an event at Kiss (specific: message of event_type ‘record’, e.g. User Signed Up)



45
46
47
# File 'lib/lascivious.rb', line 45

def kiss_record(value)
  kiss_metric :record, value
end

#kiss_set(value) ⇒ Object

Set values (e.g. country: uk)



50
51
52
# File 'lib/lascivious.rb', line 50

def kiss_set(value)
  kiss_metric :set, value
end