module Talkable
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