Module: Apimaster::Helpers::Session

Defined in:
lib/apimaster/helpers/session.rb

Instance Method Summary collapse

Instance Method Details

#auth_userObject



24
25
26
27
# File 'lib/apimaster/helpers/session.rb', line 24

def auth_user
  @access_token ||= params[:access_token] or header_token
  user_model.auth @access_token
end

#authorizeObject



15
16
17
# File 'lib/apimaster/helpers/session.rb', line 15

def authorize
  raise Apimaster::UnauthorizedError.new :user unless current_user
end

#current_userObject

Return current_user record if logged in



20
21
22
# File 'lib/apimaster/helpers/session.rb', line 20

def current_user
  @current_user ||= auth_user
end

#header_tokenObject



33
34
35
36
37
# File 'lib/apimaster/helpers/session.rb', line 33

def header_token
  keys = %w{HTTP_AUTHORIZATION X-HTTP_AUTHORIZATION X_HTTP_AUTHORIZATION}
  authorization ||= keys.inject(nil) { |auth, key| auth || request.env[key] }
  authorization.split[1] if authorization and authorization[/^token/i]
end

#is_owner?(owner_id) ⇒ Boolean

Check logged in user is the owner

Returns:

  • (Boolean)


11
12
13
# File 'lib/apimaster/helpers/session.rb', line 11

def is_owner? owner_id
  !!current_user && current_user.id.to_i == owner_id.to_i
end

#user_modelObject



29
30
31
# File 'lib/apimaster/helpers/session.rb', line 29

def user_model
  @user_model ||= Apimaster::Models::User
end