Sha256: e91fdfc565070835f0591a1e347faff789736953871f8b209c7a82e28ea1a050
Contents?: true
Size: 792 Bytes
Versions: 3
Compression:
Stored size: 792 Bytes
Contents
module Fabricators class Definitions def initialize reset end def reset @fabricators = {} end def fabricator(name, options={}, &block) fabricator = Fabricator.new(name, options, &block) iterate_names name, options do |name| @fabricators[name] = fabricator end end def find(name) @fabricators[name].tap do |definition| raise "Definition #{name} not found" unless definition end end protected def iterate_names(name, options) names = [name] if aliases = options[:aliases] case aliases when Array names |= aliases else names << aliases end end names.each do |name| yield name end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fabricators-0.1.2 | lib/fabricators/definitions.rb |
fabricators-0.1.1 | lib/fabricators/definitions.rb |
fabricators-0.1.0 | lib/fabricators/definitions.rb |