Module: Talkable

Defined in:
lib/talkable.rb,
lib/talkable/api.rb,
lib/talkable/railtie.rb,
lib/talkable/version.rb,
lib/talkable/api/base.rb,
lib/talkable/api/offer.rb,
lib/talkable/api/share.rb,
lib/talkable/api/origin.rb,
lib/talkable/api/person.rb,
lib/talkable/api/reward.rb,
lib/talkable/middleware.rb,
lib/talkable/api/visitor.rb,
lib/talkable/integration.rb,
lib/talkable/api/referral.rb,
lib/talkable/configuration.rb,
lib/talkable/resources/offer.rb,
lib/talkable/resources/origin.rb,
lib/talkable/generators/install_generator.rb

Defined Under Namespace

Modules: API Classes: Configuration, InstallGenerator, Middleware, Offer, Origin, Railtie

Constant Summary collapse

UUID =
'talkable_visitor_uuid'.freeze
VERSION =
"0.9.0".freeze
DEFAULT_CAMPAIGN_TAGS =
{
  Talkable::API::Origin::AFFILIATE_MEMBER => 'invite'.freeze,
  Talkable::API::Origin::PURCHASE         => 'post-purchase'.freeze,
  Talkable::API::Origin::EVENT            => nil,
}.freeze

Class Method Summary collapse

Class Method Details

.configurationObject



18
19
20
# File 'lib/talkable.rb', line 18

def configuration
  @configuration ||= Talkable::Configuration.new
end

.configure(config = nil) {|configuration| ... } ⇒ Object

Yields:



13
14
15
16
# File 'lib/talkable.rb', line 13

def configure(config = nil)
  configuration.apply config if config
  yield(configuration) if block_given?
end

.find_or_generate_uuidObject



37
38
39
# File 'lib/talkable.rb', line 37

def find_or_generate_uuid
  visitor_uuid || Talkable::API::Visitor.create[:uuid]
end

.register_affiliate_member(params) ⇒ Object



9
10
11
# File 'lib/talkable/integration.rb', line 9

def register_affiliate_member(params)
  register_origin(Talkable::API::Origin::AFFILIATE_MEMBER, params)
end

.register_event(params) ⇒ Object



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

def register_event(params)
  register_origin(Talkable::API::Origin::EVENT, params)
end

.register_purchase(params) ⇒ Object



13
14
15
# File 'lib/talkable/integration.rb', line 13

def register_purchase(params)
  register_origin(Talkable::API::Origin::PURCHASE, params)
end

.visitor_uuidObject



22
23
24
# File 'lib/talkable.rb', line 22

def visitor_uuid
  Thread.current[UUID]
end

.visitor_uuid=(uuid) ⇒ Object



26
27
28
# File 'lib/talkable.rb', line 26

def visitor_uuid=(uuid)
  Thread.current[UUID] = uuid
end

.with_uuid(uuid) ⇒ Object



30
31
32
33
34
35
# File 'lib/talkable.rb', line 30

def with_uuid(uuid)
  old_uuid, Talkable.visitor_uuid = Talkable.visitor_uuid, uuid
  yield if block_given?
ensure
  Talkable.visitor_uuid = old_uuid
end