Class: NonExplodingFailureEndpoint

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/cms/templates/config/initializers/omniauth.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ NonExplodingFailureEndpoint

Returns a new instance of NonExplodingFailureEndpoint.



15
16
17
# File 'lib/generators/cms/templates/config/initializers/omniauth.rb', line 15

def initialize(env)
  @env = env
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



9
10
11
# File 'lib/generators/cms/templates/config/initializers/omniauth.rb', line 9

def env
  @env
end

Class Method Details

.call(env) ⇒ Object



11
12
13
# File 'lib/generators/cms/templates/config/initializers/omniauth.rb', line 11

def self.call(env)
  new(env).call
end

Instance Method Details

#callObject



19
20
21
# File 'lib/generators/cms/templates/config/initializers/omniauth.rb', line 19

def call
  redirect_to_failure
end

#raise_out!Object



23
24
25
# File 'lib/generators/cms/templates/config/initializers/omniauth.rb', line 23

def raise_out!
  raise env['omniauth.error'] || OmniAuth::Error.new(env['omniauth.error.type'])
end

#redirect_to_failureObject



27
28
29
30
31
# File 'lib/generators/cms/templates/config/initializers/omniauth.rb', line 27

def redirect_to_failure
  message_key = env['omniauth.error.type']
  new_path = "#{env['SCRIPT_NAME']}#{OmniAuth.config.path_prefix}/failure?message=#{message_key}"
  Rack::Response.new(["302 Moved"], 302, 'Location' => new_path).finish
end