class TrailGuide::Unity
Attributes
user_id[R]
visitor_id[R]
Public Class Methods
clear!()
click to toggle source
# File lib/trail_guide/unity.rb, line 12 def clear! keys = TrailGuide.redis.keys("#{configuration.namespace}:*") TrailGuide.redis.del *keys unless keys.empty? end
configuration()
click to toggle source
# File lib/trail_guide/unity.rb, line 4 def configuration @configuration ||= Canfig::Config.new(namespace: :unity) end
configure(*args, &block)
click to toggle source
# File lib/trail_guide/unity.rb, line 8 def configure(*args, &block) configuration.configure(*args, &block) end
new(user_id: nil, visitor_id: nil)
click to toggle source
# File lib/trail_guide/unity.rb, line 21 def initialize(user_id: nil, visitor_id: nil) @user_id = user_id.to_s if user_id.present? @visitor_id = visitor_id.to_s if visitor_id.present? end
Public Instance Methods
delete!()
click to toggle source
# File lib/trail_guide/unity.rb, line 74 def delete! keys = [] keys << stored_user_key if stored_user_id.present? keys << stored_visitor_key if stored_visitor_id.present? keys << user_key if user_id.present? keys << visitor_key if visitor_id.present? TrailGuide.redis.del(*keys) unless keys.empty? end
save!()
click to toggle source
# File lib/trail_guide/unity.rb, line 63 def save! return false unless valid? TrailGuide.redis.set(user_key, visitor_id) TrailGuide.redis.set(visitor_key, user_id) if TrailGuide.configuration.unity_ttl TrailGuide.redis.expire(user_key, TrailGuide.configuration.unity_ttl) TrailGuide.redis.expire(visitor_key, TrailGuide.configuration.unity_ttl) end true end
stored?()
click to toggle source
# File lib/trail_guide/unity.rb, line 46 def stored? stored_visitor_id.present? && stored_user_id.present? end
stored_user_id()
click to toggle source
# File lib/trail_guide/unity.rb, line 34 def stored_user_id TrailGuide.redis.get(visitor_key) if visitor_id.present? end
stored_visitor_id()
click to toggle source
# File lib/trail_guide/unity.rb, line 38 def stored_visitor_id TrailGuide.redis.get(user_key) if user_id.present? end
sync!()
click to toggle source
# File lib/trail_guide/unity.rb, line 56 def sync! @user_id ||= stored_user_id @visitor_id ||= stored_visitor_id delete! save! end
synced?()
click to toggle source
# File lib/trail_guide/unity.rb, line 50 def synced? valid? && stored? && stored_visitor_id == visitor_id && stored_user_id == user_id end
user_id=(uid)
click to toggle source
# File lib/trail_guide/unity.rb, line 26 def user_id=(uid) @user_id = uid.to_s end
valid?()
click to toggle source
# File lib/trail_guide/unity.rb, line 42 def valid? visitor_id.present? && user_id.present? end
visitor_id=(vid)
click to toggle source
# File lib/trail_guide/unity.rb, line 30 def visitor_id=(vid) @visitor_id = vid.to_s end
Protected Instance Methods
stored_user_key()
click to toggle source
# File lib/trail_guide/unity.rb, line 93 def stored_user_key "#{configuration.namespace}:uids:#{stored_user_id}" end
stored_visitor_key()
click to toggle source
# File lib/trail_guide/unity.rb, line 97 def stored_visitor_key "#{configuration.namespace}:vids:#{stored_visitor_id}" end
user_key()
click to toggle source
# File lib/trail_guide/unity.rb, line 85 def user_key "#{configuration.namespace}:uids:#{user_id}" end
visitor_key()
click to toggle source
# File lib/trail_guide/unity.rb, line 89 def visitor_key "#{configuration.namespace}:vids:#{visitor_id}" end