Module: Outbox::MessageClients::ClassMethods
- Defined in:
- lib/outbox/message_clients.rb
Instance Method Summary collapse
-
#default_client(client = nil, settings = nil) ⇒ Object
Returns the default client for the message type.
-
#default_client=(client) ⇒ Object
Sets the default client.
-
#default_client_settings(settings = nil) ⇒ Object
(also: #default_client_settings=)
Configure the default client.
-
#register_client_alias(name, client) ⇒ Object
Registers a client class with an alias.
-
#registered_client_aliases ⇒ Object
Returns a hash of client aliases, where the key is the alias and the value is client class.
Instance Method Details
#default_client(client = nil, settings = nil) ⇒ Object
Returns the default client for the message type.
Email.default_client #=> #<Outbox::Clients::Mail>
Also allows you to set the default client using an alias, with optoins.
Email.default_client :test, option: 'foo'
Email.default_client #=> #<Outbox::Clients::TestClient>
16 17 18 19 |
# File 'lib/outbox/message_clients.rb', line 16 def default_client(client = nil, settings = nil) @default_client = get_client(client, settings) if client @default_client end |
#default_client=(client) ⇒ Object
Sets the default client.
22 23 24 |
# File 'lib/outbox/message_clients.rb', line 22 def default_client=(client) @default_client = get_client(client) end |
#default_client_settings(settings = nil) ⇒ Object Also known as: default_client_settings=
Configure the default client.
27 28 29 30 31 32 33 34 |
# File 'lib/outbox/message_clients.rb', line 27 def default_client_settings(settings = nil) if default_client.nil? raise ArgumentError, 'default_client must be set before setting default_client_settings' end default_client.settings.merge!(settings) if settings default_client.settings end |
#register_client_alias(name, client) ⇒ Object
Registers a client class with an alias.
Email.register_client_alias :mandrill, MandrillClient
Email.default_client :mandrill, mandrill_option: 'foo'
41 42 43 |
# File 'lib/outbox/message_clients.rb', line 41 def register_client_alias(name, client) registered_client_aliases[name.to_sym] = client end |
#registered_client_aliases ⇒ Object
Returns a hash of client aliases, where the key is the alias and the value is client class.
47 48 49 |
# File 'lib/outbox/message_clients.rb', line 47 def registered_client_aliases @registered_client_aliases ||= { test: Outbox::Clients::TestClient } end |