Class: OpenID::Consumer::DiscoveryManager
- Inherits:
-
Object
- Object
- OpenID::Consumer::DiscoveryManager
- Defined in:
- lib/openid/consumer/discovery_manager.rb
Overview
Manages calling discovery and tracking which endpoints have already been attempted.
Instance Method Summary collapse
- #cleanup(force = false) ⇒ Object
- #get_next_service ⇒ Object
-
#initialize(session, url, session_key_suffix = nil) ⇒ DiscoveryManager
constructor
A new instance of DiscoveryManager.
Constructor Details
#initialize(session, url, session_key_suffix = nil) ⇒ DiscoveryManager
62 63 64 65 66 67 |
# File 'lib/openid/consumer/discovery_manager.rb', line 62 def initialize(session, url, session_key_suffix = nil) @url = url @session = OpenID::Consumer::Session.new(session, DiscoveredServices) @session_key_suffix = session_key_suffix || "auth" end |
Instance Method Details
#cleanup(force = false) ⇒ Object
91 92 93 94 95 96 97 98 99 100 |
# File 'lib/openid/consumer/discovery_manager.rb', line 91 def cleanup(force = false) manager = get_manager(force) if !manager.nil? service = manager.current destroy_manager(force) else service = nil end service end |
#get_next_service ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/openid/consumer/discovery_manager.rb', line 69 def get_next_service manager = get_manager if !manager.nil? && manager.empty? destroy_manager manager = nil end if manager.nil? yadis_url, services = yield @url manager = create_manager(yadis_url, services) end if !manager.nil? service = manager.next store(manager) else service = nil end service end |