Sha256: 83a299c3cd9d78f8184ef3aed308eee3cf0ecf8b4d1c0b22ac58ba25ec447cad
Contents?: true
Size: 1.52 KB
Versions: 11
Compression:
Stored size: 1.52 KB
Contents
module BookendsHelper def glostick_user_name glostick_user['full_name'] end def glostick_user_email glostick_user['email'] end def signup_link(title, options = {}) url = "https://signup.heroku.com" data = { trackable: { category: "Sign Up Links", action: "Clicked", label: "#{options[:referral] || options[:branded_signup]}" } } url += "/#{options[:branded_signup]}" if options[:branded_signup] if options[:campaign_id] url = url + "?c=" + options[:campaign_id] elsif options[:referral] url = url + "/" + options[:referral] end link_to title, url, class: options[:class], data: data end private def glostick_user @glostick_user ||= GlostickUserExtractor.new(cookies).user end class GlostickUserExtractor attr_reader :secret, :token def initialize(cookies) @secret = ENV['SESSION_COOKIE_SECRET_PRIMARY'] || ENV['SESSION_COOKIE_SECRET_SECONDARY'] @token = CGI::unescape(cookies[:heroku_user_session]) if cookies[:heroku_user_session] end def user session_info = decrypt_session_cookie if session_info && session_info['user'] session_info['user'] else { 'email' => '', 'full_name' => '' } end end private def decrypt_session_cookie return nil unless token && secret verifier = Fernet.verifier(secret, token) verifier.enforce_ttl = false return nil unless verifier.valid? JSON.parse(verifier.message) end end end
Version data entries
11 entries across 11 versions & 1 rubygems