Class: Webhookdb::Message::Transport
- Inherits:
-
Object
- Object
- Webhookdb::Message::Transport
- Extended by:
- Webhookdb::MethodUtilities
- Defined in:
- lib/webhookdb/message/transport.rb
Direct Known Subclasses
Defined Under Namespace
Classes: Error, UndeliverableRecipient
Class Method Summary collapse
Instance Method Summary collapse
-
#recipient(to) ⇒ Object
Override this if a transport needs a different ‘to’ than the email, like for text messages.
- #send!(_delivery) ⇒ Object
Methods included from Webhookdb::MethodUtilities
attr_predicate, attr_predicate_accessor, singleton_attr_accessor, singleton_attr_reader, singleton_attr_writer, singleton_method_alias, singleton_predicate_accessor, singleton_predicate_reader
Class Method Details
.for(type) ⇒ Object
20 21 22 23 |
# File 'lib/webhookdb/message/transport.rb', line 20 def self.for(type) type = Webhookdb::Message::Transport.override || type return Webhookdb::Message::Transport.transports[type.to_sym] end |
.for!(type) ⇒ Object
25 26 27 28 |
# File 'lib/webhookdb/message/transport.rb', line 25 def self.for!(type) (t = self.for(type)) or raise Webhookdb::Message::InvalidTransportError, "invalid transport: %p" % type return t end |
Instance Method Details
#recipient(to) ⇒ Object
Override this if a transport needs a different ‘to’ than the email, like for text messages.
32 33 34 35 36 37 38 |
# File 'lib/webhookdb/message/transport.rb', line 32 def recipient(to) if to.is_a?(Webhookdb::Customer) (email = to.email) or raise "Customer #{to.id} has no default email" return Webhookdb::Message::Recipient.new(email, to) end return Webhookdb::Message::Recipient.new(to, nil) end |
#send!(_delivery) ⇒ Object
40 41 42 |
# File 'lib/webhookdb/message/transport.rb', line 40 def send!(_delivery) raise "Must implement in subclass. Call 3rd party with message/content and return transport ID." end |