Sha256: f5eabcd7b385844fd698640a3ab544fa9fc00ec43a83dc50124e13df97f063fd
Contents?: true
Size: 882 Bytes
Versions: 2
Compression:
Stored size: 882 Bytes
Contents
module DIY #:nodoc:# class FactoryDef #:nodoc: attr_accessor :name, :target, :class_name, :library def initialize(opts) @name, @target, @library, @auto_require = opts[:name], opts[:target], opts[:library], opts[:auto_require] @class_name = Infl.camelize(@target) @library ||= Infl.underscore(@class_name) if @auto_require end end class Context def construct_factory(key) factory_def = @defs[key] # puts "requiring #{factory_def.library}" require factory_def.library if factory_def.library big_c = get_class_for_name_with_module_delimeters(factory_def.class_name) FactoryFactory.new(big_c) end end class FactoryFactory def initialize(clazz) @class_to_create = clazz end def create(*args) @class_to_create.new(*args) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ceedling-0.29.1 | vendor/diy/lib/diy/factory.rb |
ceedling-0.29.0 | vendor/diy/lib/diy/factory.rb |