Module: Caffeinate::Dripper::Drip::ClassMethods
- Defined in:
- lib/caffeinate/dripper/drip.rb
Instance Method Summary collapse
-
#drip(action_name, options = {}, &block) ⇒ Object
Register a drip on the Dripper.
-
#drips ⇒ Object
A collection of Drip objects associated with a given
Caffeinate::Dripper.
Instance Method Details
#drip(action_name, options = {}, &block) ⇒ Object
Register a drip on the Dripper
drip :mailer_action_name, mailer_class: "MailerClass", step: 1, delay: 1.hour
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/caffeinate/dripper/drip.rb', line 50 def drip(action_name, = {}, &block) .assert_valid_keys(:mailer_class, :step, :delay, :using, :mailer) [:mailer_class] ||= [:mailer] || defaults[:mailer_class] [:using] ||= defaults[:using] [:step] ||= drips.size + 1 if [:mailer_class].nil? raise ArgumentError, "You must define :mailer_class or :mailer in the options for :#{action_name}" end raise ArgumentError, "You must define :delay in the options for :#{action_name}" if [:delay].nil? drips.register(action_name, , &block) end |
#drips ⇒ Object
A collection of Drip objects associated with a given Caffeinate::Dripper
37 38 39 |
# File 'lib/caffeinate/dripper/drip.rb', line 37 def drips @drips ||= DripCollection.new(self) end |