Module: Modelizer::Helpers
- Included in:
- Modelizer, FactoryContext
- Defined in:
- lib/modelizer.rb
Instance Method Summary collapse
- #build(name, overrides = nil, &block) ⇒ Object
- #create(name, overrides = nil, &block) ⇒ Object
- #use(name) ⇒ Object
Instance Method Details
#build(name, overrides = nil, &block) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/modelizer.rb', line 8 def build name, overrides = nil, &block model, *initializers = Modelizer.factories[name] raise "Can't find the \"#{name}\" factory." unless model obj = model.new ctx = FactoryContext.new overrides || {} initializers << block if block_given? initializers.each { |i| ctx.instance_exec obj, &i } overrides.each { |k, v| obj.send "#{k}=", v } if overrides obj end |
#create(name, overrides = nil, &block) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/modelizer.rb', line 23 def create name, overrides = nil, &block obj = build name, overrides, &block obj.save! obj end |