class FactoryGirl::Registry
Public Class Methods
new(name)
click to toggle source
# File lib/factory_girl/registry.rb, line 5 def initialize(name) @name = name @items = {} end
Public Instance Methods
[](name)
click to toggle source
# File lib/factory_girl/registry.rb, line 23 def [](name) find(name) end
add(item)
click to toggle source
# File lib/factory_girl/registry.rb, line 10 def add(item) item.names.each { |name| add_as(name, item) } item end
clear()
click to toggle source
# File lib/factory_girl/registry.rb, line 31 def clear @items.clear end
each(&block)
click to toggle source
# File lib/factory_girl/registry.rb, line 19 def each(&block) @items.values.uniq.each(&block) end
find(name)
click to toggle source
# File lib/factory_girl/registry.rb, line 15 def find(name) @items[name.to_sym] or raise ArgumentError.new("#{@name} not registered: #{name.to_s}") end
registered?(name)
click to toggle source
# File lib/factory_girl/registry.rb, line 27 def registered?(name) @items.key?(name.to_sym) end
Private Instance Methods
add_as(name, item)
click to toggle source
# File lib/factory_girl/registry.rb, line 37 def add_as(name, item) if registered?(name) raise DuplicateDefinitionError, "#{@name} already registered: #{name}" else @items[name.to_sym] = item end end