Class: Webhookdb::Message::Transport
Defined Under Namespace
Classes: Error, UndeliverableRecipient
Class Method Summary
collapse
Instance Method Summary
collapse
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
|
.register_transport(type) ⇒ Object
16
17
18
|
# File 'lib/webhookdb/message/transport.rb', line 16
def self.register_transport(type)
Webhookdb::Message::Transport.transports[type] = self.new
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
|