class Caffeinate::DripperCollection

Public Class Methods

new() click to toggle source
# File lib/caffeinate/dripper_collection.rb, line 7
def initialize
  @registry = {}
end

Public Instance Methods

clear!() click to toggle source
# File lib/caffeinate/dripper_collection.rb, line 32
def clear!
  @registry = {}
end
clear_cache!() click to toggle source

Caffeinate maintains a couple of class-variables under the hood that don’t get reset between specs (while the db records they cache do get truncated). This resets the appropriate class-variables between specs

# File lib/caffeinate/dripper_collection.rb, line 26
def clear_cache!
  drippers.each do |dripper|
    dripper.safe_constantize.class_eval { @caffeinate_campaign = nil }
  end
end
drippers() click to toggle source
# File lib/caffeinate/dripper_collection.rb, line 19
def drippers
  @registry.values
end
register(name, klass) click to toggle source
# File lib/caffeinate/dripper_collection.rb, line 11
def register(name, klass)
  @registry[name.to_sym] = klass
end
resolve(campaign) click to toggle source
# File lib/caffeinate/dripper_collection.rb, line 15
def resolve(campaign)
  @registry[campaign.slug.to_sym].constantize
end