Module: Backburner::Mailer::ClassMethods
- Defined in:
- lib/backburner_mailer.rb
Instance Method Summary collapse
- #backburner ⇒ Object
- #current_env ⇒ Object
- #deliver? ⇒ Boolean
- #excluded_environment?(name) ⇒ Boolean
- #method_missing(method_name, *args) ⇒ Object
- #perform(action, *args) ⇒ Object
- #queue ⇒ Object
- #queue=(name) ⇒ Object
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/backburner_mailer.rb', line 37 def method_missing(method_name, *args) if action_methods.include?(method_name.to_s) MessageDecoy.new(self, method_name, *args) else super end end |
Instance Method Details
#backburner ⇒ Object
70 71 72 |
# File 'lib/backburner_mailer.rb', line 70 def backburner ::Backburner::Mailer.default_queue_target end |
#current_env ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/backburner_mailer.rb', line 27 def current_env if defined?(Rails) ::Backburner::Mailer.current_env || ::Rails.env elsif defined?(Padrino) ::Backburner::Mailer.current_env || ::Padrino.env else ::Backburner::Mailer.current_env end end |
#deliver? ⇒ Boolean
78 79 80 |
# File 'lib/backburner_mailer.rb', line 78 def deliver? true end |
#excluded_environment?(name) ⇒ Boolean
74 75 76 |
# File 'lib/backburner_mailer.rb', line 74 def excluded_environment?(name) ::Backburner::Mailer.excluded_environments && ::Backburner::Mailer.excluded_environments.include?(name.try(:to_sym)) end |
#perform(action, *args) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/backburner_mailer.rb', line 45 def perform(action, *args) begin = self.send(:new, action, *args). .deliver rescue Exception => ex if Mailer.error_handler Mailer.error_handler.call(self, , ex) else if logger logger.error "Unable to deliver email [#{action}]: #{ex}" logger.error ex.backtrace.join("\n\t") end raise ex end end end |
#queue ⇒ Object
62 63 64 |
# File 'lib/backburner_mailer.rb', line 62 def queue @queue || ::Backburner::Mailer.default_queue_name end |
#queue=(name) ⇒ Object
66 67 68 |
# File 'lib/backburner_mailer.rb', line 66 def queue=(name) @queue = name end |