class GrapeDeviseTokenAuth::DeviseInterface

Attributes

warden[R]

Public Class Methods

new(data) click to toggle source
# File lib/grape_devise_token_auth/devise_interface.rb, line 3
def initialize(data)
  @warden = data.warden
  @client_id = data.client_id
end

Public Instance Methods

exisiting_warden_user(resource_class) click to toggle source
# File lib/grape_devise_token_auth/devise_interface.rb, line 19
def exisiting_warden_user(resource_class)
  warden_user =  warden.user(resource_class.to_s.underscore.to_sym)
  return unless warden_user && warden_user.tokens[@client_id].nil?
  resource = warden_user
  resource.create_new_auth_token
  resource
end
mapping_to_class(m) click to toggle source
# File lib/grape_devise_token_auth/devise_interface.rb, line 14
def mapping_to_class(m)
  mapping = m ? Devise.mappings[m] : Devise.mappings.values.first
  @resource_class = mapping.to
end
set_user_in_warden(scope, resource) click to toggle source

extracted and simplified from Devise

# File lib/grape_devise_token_auth/devise_interface.rb, line 9
def set_user_in_warden(scope, resource)
  scope = Devise::Mapping.find_scope!(scope)
  warden.set_user(resource, scope: scope, store: false)
end