Class: Qu::Mailer::ClassMethods::MessageDecoy
- Inherits:
-
Object
- Object
- Qu::Mailer::ClassMethods::MessageDecoy
show all
- Defined in:
- lib/qu_mailer.rb
Instance Method Summary
collapse
Constructor Details
#initialize(mailer_class, method_name, *args) ⇒ MessageDecoy
Returns a new instance of MessageDecoy.
56
57
58
59
60
|
# File 'lib/qu_mailer.rb', line 56
def initialize(mailer_class, method_name, *args)
@mailer_class = mailer_class
@method_name = method_name
*@args = *args
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args) ⇒ Object
78
79
80
|
# File 'lib/qu_mailer.rb', line 78
def method_missing(method_name, *args)
actual_message.send(method_name, *args)
end
|
Instance Method Details
#actual_message ⇒ Object
66
67
68
|
# File 'lib/qu_mailer.rb', line 66
def actual_message
@actual_message ||= @mailer_class.send(:new, @method_name, *@args).message
end
|
#deliver ⇒ Object
70
71
72
|
# File 'lib/qu_mailer.rb', line 70
def deliver
qu.enqueue(@mailer_class, @method_name, *@args)
end
|
#deliver! ⇒ Object
74
75
76
|
# File 'lib/qu_mailer.rb', line 74
def deliver!
actual_message.deliver!
end
|