Module: HeimdallAuth::Rails::Routes::Helper

Defined in:
lib/heimdall_auth/rails/routes.rb

Instance Method Summary collapse

Instance Method Details

#mount_heimdall_auth_secured(options = {}, &block) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/heimdall_auth/rails/routes.rb', line 14

def mount_heimdall_auth_secured(options = {}, &block)
  accessible_via_token = options.extract!(:accessible_via_token)[:accessible_via_token]

  engine = options.keys.first #Syntax sugar ENGINE => PATH, ACTION => RESOURCE
  path = options.values.first #Syntax sugar ENGINE => PATH, ACTION => RESOURCE

  action = options.keys.second #Syntax sugar ENGINE => PATH, ACTION => RESOURCE
  resource = options.values.second #Syntax sugar ENGINE => PATH, ACTION => RESOURCE

  if action.nil? || resource.nil?
    puts "WARNING: It seems you missed the cancancan rights. Use: `mount_heimdall_auth_secured Sidekiq::Web => '/sidekiq', :manage => :sidekiq`"
  end

  mount engine => path, constraints: HeimdallAuth::RouteConstraint.new(action, resource, accessible_via_token)
   get "#{path}", to: redirect('/signin')
   get "#{path}/*rest", to: redirect('/signin')
end

#use_heimdall_auth(options = {}, &block) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/heimdall_auth/rails/routes.rb', line 5

def use_heimdall_auth(options = {}, &block)
  get '/auth/:provider' => 'heimdall_auth/sessions#login_button', :as => :auth_provider
  get '/auth/:provider/callback' => 'heimdall_auth/sessions#create', :as => :auth_provider_callback
  get '/auth/failure' => 'heimdall_auth/sessions#failure'
  get '/signin' => 'heimdall_auth/sessions#new', :as => :new_user_session
  get '/signout' => 'heimdall_auth/sessions#destroy', :as => :destroy_user_session
end