Class: Basecamp::Oauth::DiscoveryResult
- Inherits:
-
Data
- Object
- Data
- Basecamp::Oauth::DiscoveryResult
- Defined in:
- lib/basecamp/oauth/discovery_result.rb
Overview
Result of discover_from_resource: either a selected AS config, or a soft fallback to Launchpad. Hard failures are raised as DiscoverySelectionError, never represented here — so no consumer can convert a hard failure into a Launchpad request.
Instance Attribute Summary collapse
-
#config ⇒ Config?
readonly
the selected AS config (when
:selected). -
#issuer ⇒ String?
readonly
the selected issuer (when
:selected). -
#kind ⇒ Symbol
readonly
:selectedor:fallback. -
#reason ⇒ String?
readonly
the soft fallback reason (when
:fallback):"resource_discovery_failed"or"no_as_advertised".
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#config ⇒ Config? (readonly)
the selected AS config (when :selected)
15 16 17 |
# File 'lib/basecamp/oauth/discovery_result.rb', line 15 def config @config end |
#issuer ⇒ String? (readonly)
the selected issuer (when :selected)
15 16 17 |
# File 'lib/basecamp/oauth/discovery_result.rb', line 15 def issuer @issuer end |
#kind ⇒ Symbol (readonly)
:selected or :fallback
15 16 17 |
# File 'lib/basecamp/oauth/discovery_result.rb', line 15 def kind @kind end |
#reason ⇒ String? (readonly)
the soft fallback reason (when :fallback):
"resource_discovery_failed" or "no_as_advertised"
15 16 17 |
# File 'lib/basecamp/oauth/discovery_result.rb', line 15 def reason @reason end |
Class Method Details
.fallback(reason) ⇒ Object
20 21 22 |
# File 'lib/basecamp/oauth/discovery_result.rb', line 20 def self.fallback(reason) new(kind: :fallback, config: nil, issuer: nil, reason: reason) end |
.selected(config) ⇒ Object
16 17 18 |
# File 'lib/basecamp/oauth/discovery_result.rb', line 16 def self.selected(config) new(kind: :selected, config: config, issuer: config.issuer, reason: nil) end |
Instance Method Details
#fallback? ⇒ Boolean
28 29 30 |
# File 'lib/basecamp/oauth/discovery_result.rb', line 28 def fallback? kind == :fallback end |
#selected? ⇒ Boolean
24 25 26 |
# File 'lib/basecamp/oauth/discovery_result.rb', line 24 def selected? kind == :selected end |