Manages calling discovery and tracking which endpoints have already been attempted.
# File lib/openid/consumer/discovery_manager.rb, line 65 def cleanup(force=false) manager = get_manager(force) if !manager.nil? service = manager.current destroy_manager(force) else service = nil end return service end
# File lib/openid/consumer/discovery_manager.rb, line 43 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 return service end
# File lib/openid/consumer/discovery_manager.rb, line 87 def create_manager(yadis_url, services) manager = get_manager if !manager.nil? raise StandardError, "There is already a manager for #{yadis_url}" end if services.empty? return nil end manager = DiscoveredServices.new(@url, yadis_url, services) store(manager) return manager end
# File lib/openid/consumer/discovery_manager.rb, line 118 def destroy! @session[session_key] = nil end
# File lib/openid/consumer/discovery_manager.rb, line 100 def destroy_manager(force=false) if !get_manager(force).nil? destroy! end end
# File lib/openid/consumer/discovery_manager.rb, line 78 def get_manager(force=false) manager = load if force || manager.nil? || manager.for_url?(@url) return manager else return nil end end
# File lib/openid/consumer/discovery_manager.rb, line 114 def load @session[session_key] end
Generated with the Darkfish Rdoc Generator 2.