Class: CodexNotify::DestinationResolver
- Inherits:
-
Object
- Object
- CodexNotify::DestinationResolver
- Defined in:
- lib/codex_notify/destination_resolver.rb
Defined Under Namespace
Classes: Error, Resolution
Instance Method Summary collapse
-
#initialize(selection_sources:, profile_sources:, default_sources:) ⇒ DestinationResolver
constructor
A new instance of DestinationResolver.
- #resolve(destination:, token:, channel:) ⇒ Object
Constructor Details
#initialize(selection_sources:, profile_sources:, default_sources:) ⇒ DestinationResolver
Returns a new instance of DestinationResolver.
18 19 20 21 22 |
# File 'lib/codex_notify/destination_resolver.rb', line 18 def initialize(selection_sources:, profile_sources:, default_sources:) @selection_sources = selection_sources @profile_sources = profile_sources @default_sources = default_sources end |
Instance Method Details
#resolve(destination:, token:, channel:) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/codex_notify/destination_resolver.rb', line 24 def resolve(destination:, token:, channel:) selected = destination || selection_sources.lookup('CODEX_NOTIFY_DESTINATION')&.value return resolve_default(token:, channel:) unless selected resolve_profile(DestinationName.normalize(selected), token:, channel:) rescue DestinationName::Error => e raise Error, e. end |