class ActionDispatch::Routing::Mapper

Public Instance Methods

authenticate(guard = nil) { || ... } click to toggle source
# File lib/foyer/rails.rb, line 6
def authenticate(guard = nil)
  constraint = lambda do |request|
    user_id = request.env['rack.session'][Foyer.session_key].try(:with_indifferent_access).try(:[], :id)
    break unless user_id
    guard.nil? ? true : guard.call(Foyer.user_finder.call(user_id))
  end

  constraints(constraint) do
    yield
  end
end