Class: TDiary::Rack::Auth::OmniAuth
- Inherits:
-
Object
- Object
- TDiary::Rack::Auth::OmniAuth
- Defined in:
- lib/tdiary/rack/auth/omniauth.rb,
lib/tdiary/rack/auth/omniauth/authorization.rb
Defined Under Namespace
Classes: Authorization, NoStrategyFoundError
Class Attribute Summary collapse
-
.provider_procs ⇒ Object
readonly
Returns the value of attribute provider_procs.
Class Method Summary collapse
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ OmniAuth
constructor
A new instance of OmniAuth.
Constructor Details
#initialize(app) ⇒ OmniAuth
Returns a new instance of OmniAuth.
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/tdiary/rack/auth/omniauth.rb', line 16 def initialize(app) provider = enabled_providers.first unless provider raise NoStrategyFoundError.new("Not found any strategies. Write the omniauth strategy in your Gemfile.local.") end @app = ::Rack::Builder.new(app) { use TDiary::Rack::Session }.tap {|builder| builder.instance_eval(&self.class.provider_procs[provider]) }.to_app end |
Class Attribute Details
.provider_procs ⇒ Object (readonly)
Returns the value of attribute provider_procs.
9 10 11 |
# File 'lib/tdiary/rack/auth/omniauth.rb', line 9 def provider_procs @provider_procs end |
Class Method Details
.add_provider(name, &block) ⇒ Object
12 13 14 |
# File 'lib/tdiary/rack/auth/omniauth.rb', line 12 def self.add_provider(name, &block) @provider_procs[name] = block end |
Instance Method Details
#call(env) ⇒ Object
29 30 31 |
# File 'lib/tdiary/rack/auth/omniauth.rb', line 29 def call(env) @app.call(env) end |