Class: Caffeinate::Dripper::DripCollection

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/caffeinate/dripper/drip_collection.rb

Overview

A collection of Drip objects for a Caffeinate::Dripper

Instance Method Summary collapse

Constructor Details

#initialize(dripper) ⇒ DripCollection

Returns a new instance of DripCollection.



9
10
11
12
# File 'lib/caffeinate/dripper/drip_collection.rb', line 9

def initialize(dripper)
  @dripper = dripper
  @drips = {}
end

Instance Method Details

#[](val) ⇒ Object



37
38
39
# File 'lib/caffeinate/dripper/drip_collection.rb', line 37

def [](val)
  @drips[val]
end

#each(&block) ⇒ Object



25
26
27
# File 'lib/caffeinate/dripper/drip_collection.rb', line 25

def each(&block)
  @drips.each { |action_name, drip| block.call(action_name, drip) }
end

#for(action) ⇒ Object



14
15
16
# File 'lib/caffeinate/dripper/drip_collection.rb', line 14

def for(action)
  @drips[action.to_sym]
end

#register(action, options, &block) ⇒ Object

Register the drip



19
20
21
22
23
# File 'lib/caffeinate/dripper/drip_collection.rb', line 19

def register(action, options, &block)
  options = validate_drip_options(action, options)

  @drips[action.to_sym] = ::Caffeinate::Drip.new(@dripper, action, options, &block)
end

#sizeObject



33
34
35
# File 'lib/caffeinate/dripper/drip_collection.rb', line 33

def size
  @drips.size
end

#valuesObject



29
30
31
# File 'lib/caffeinate/dripper/drip_collection.rb', line 29

def values
  @drips.values
end