module Talkable

More at docs.talkable.com/api_v2/shares.html

Constants

CURRENT_URL
UUID
VERSION

Public Class Methods

approve_referral(origin_slug) click to toggle source
# File lib/talkable/referrals.rb, line 3
def approve_referral(origin_slug)
  update_referral(origin_slug, Talkable::API::Referral::APPROVED)
end
configuration() click to toggle source
# File lib/talkable.rb, line 21
def configuration
  @configuration ||= Talkable::Configuration.new
end
configure(config = nil) { |configuration| ... } click to toggle source
# File lib/talkable.rb, line 16
def configure(config = nil)
  configuration.apply config if config
  yield(configuration) if block_given?
end
current_url() click to toggle source
# File lib/talkable.rb, line 41
def current_url
  Thread.current[CURRENT_URL]
end
current_url=(url) click to toggle source
# File lib/talkable.rb, line 45
def current_url=(url)
  Thread.current[CURRENT_URL] = url
end
find_or_generate_uuid() click to toggle source
# File lib/talkable.rb, line 37
def find_or_generate_uuid
  visitor_uuid || SecureRandom.uuid
end
register_affiliate_member(params = {}) click to toggle source
# File lib/talkable/integration.rb, line 3
def register_affiliate_member(params = {})
  register_origin(Talkable::API::Origin::AFFILIATE_MEMBER, params)
end
register_event(params = {}) click to toggle source
# File lib/talkable/integration.rb, line 11
def register_event(params = {})
  register_origin(Talkable::API::Origin::EVENT, params)
end
register_purchase(params = {}) click to toggle source
# File lib/talkable/integration.rb, line 7
def register_purchase(params = {})
  register_origin(Talkable::API::Origin::PURCHASE, params)
end
reset_configuration() click to toggle source
# File lib/talkable.rb, line 25
def reset_configuration
  configuration.reset
end
unblock_referral(origin_slug) click to toggle source
# File lib/talkable/referrals.rb, line 11
def unblock_referral(origin_slug)
  update_referral(origin_slug, Talkable::API::Referral::UNBLOCKED)
end
visitor_uuid() click to toggle source
# File lib/talkable.rb, line 29
def visitor_uuid
  Thread.current[UUID]
end
visitor_uuid=(uuid) click to toggle source
# File lib/talkable.rb, line 33
def visitor_uuid=(uuid)
  Thread.current[UUID] = uuid
end
void_referral(origin_slug) click to toggle source
# File lib/talkable/referrals.rb, line 7
def void_referral(origin_slug)
  update_referral(origin_slug, Talkable::API::Referral::VOIDED)
end
with_uuid_and_url(uuid, url) { || ... } click to toggle source
# File lib/talkable.rb, line 49
def with_uuid_and_url(uuid, url)
  old_url, Talkable.current_url = Talkable.current_url, url
  old_uuid, Talkable.visitor_uuid = Talkable.visitor_uuid, uuid
  yield if block_given?
ensure
  Talkable.current_url = old_url
  Talkable.visitor_uuid = old_uuid
end

Private Class Methods

default_params() click to toggle source
# File lib/talkable/integration.rb, line 24
def default_params
  {
    uuid: Talkable.visitor_uuid,
    r: Talkable.current_url,
  }
end
register_origin(origin_type, params = {}) click to toggle source
# File lib/talkable/integration.rb, line 17
def register_origin(origin_type, params = {})
  origin_params = default_params.merge(params)
  result = Talkable::API::Origin.create(origin_type, origin_params)
  origin = Talkable::Origin.parse(result)
  origin
end
update_referral(origin_slug, status) click to toggle source
# File lib/talkable/referrals.rb, line 17
def update_referral(origin_slug, status)
  Talkable::API::Referral.update(origin_slug, status)
end