Sha256: 02da5f92adb324aab88e61f2957d0b20320b76d3b6390838d76780ef7c9b6e4e
Contents?: true
Size: 886 Bytes
Versions: 4
Compression:
Stored size: 886 Bytes
Contents
require "active_support/core_ext/hash/indifferent_access" module FactoryBot class Registry include Enumerable attr_reader :name def initialize(name) @name = name @items = ActiveSupport::HashWithIndifferentAccess.new end def clear @items.clear end def each(&block) @items.values.uniq.each(&block) end def find(name) @items.fetch(name) rescue KeyError => e raise key_error_with_custom_message(e) end alias [] find def register(name, item) @items[name] = item end def registered?(name) @items.key?(name) end private def key_error_with_custom_message(key_error) message = key_error.message.sub("key not found", "#{@name} not registered") error = KeyError.new(message) error.set_backtrace(key_error.backtrace) error end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
factory_bot-6.1.0 | lib/factory_bot/registry.rb |
factory_bot-6.0.2 | lib/factory_bot/registry.rb |
factory_bot-6.0.1 | lib/factory_bot/registry.rb |
factory_bot-6.0.0 | lib/factory_bot/registry.rb |