Class: WackyCanvas::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/wacky_canvas/session.rb

Constant Summary collapse

"remember_token".freeze

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Session

Returns a new instance of Session.



5
6
7
# File 'lib/wacky_canvas/session.rb', line 5

def initialize(env)
  @env = env
end

Instance Method Details



29
30
31
32
33
34
35
# File 'lib/wacky_canvas/session.rb', line 29

def add_remember_cookie(headers)
  # Make sure the user has been saved
  if signed_in? && !current_user.new_record?
    # The cookie expiration is only a day since we always get a signed request
    Rack::Utils.set_cookie_header!(headers, REMEMBER_TOKEN_COOKIE, :value => current_user.remember_token, :expires => 1.day.from_now, :path => "/")
  end
end

#current_signed_requestObject



13
14
15
# File 'lib/wacky_canvas/session.rb', line 13

def current_signed_request
  @current_signed_request ||= parse_signed_request(request.params['signed_request']) 
end

#current_userObject



9
10
11
# File 'lib/wacky_canvas/session.rb', line 9

def current_user
  @current_user ||= get_current_user 
end

#requestObject



25
26
27
# File 'lib/wacky_canvas/session.rb', line 25

def request
  @request ||= Rack::Request.new(@env)
end

#signed_in?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/wacky_canvas/session.rb', line 17

def signed_in?
  current_user.present?
end

#signed_request?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/wacky_canvas/session.rb', line 21

def signed_request?
  current_signed_request.present?
end