Module: SourceTrack::Rails::ControllerMethods

Defined in:
lib/source_track/rails/controller_methods.rb

Instance Method Summary collapse

Instance Method Details

#clear_tokensObject



40
41
42
# File 'lib/source_track/rails/controller_methods.rb', line 40

def clear_tokens
  cookies.delete SourceTrack.configuration.cookie_name
end

#has_source(token) ⇒ Object Also known as: has_source?



44
45
46
# File 'lib/source_track/rails/controller_methods.rb', line 44

def has_source(token)
  source_tokens.map{|m| m[:token]}.include?(token)
end

#source_tokensObject



36
37
38
# File 'lib/source_track/rails/controller_methods.rb', line 36

def source_tokens
  @tokens ||= SourceTrack.parser.parse(cookies[SourceTrack.configuration.cookie_name])
end

#track_source(token, options = {}) ⇒ Object

TODO - make sure the cookie is a far future expires



26
27
28
29
30
31
32
33
34
# File 'lib/source_track/rails/controller_methods.rb', line 26

def track_source(token, options = {})
  tokens = source_tokens
  tokens << {:token => token, :date => Date.today}
  cookies[SourceTrack.configuration.cookie_name] = {
    :value => SourceTrack.parser.encode(tokens),
    :http_only => SourceTrack.configuration.http_only_cookies,
    :expires => 10.years.from_now
  }
end