This generates a new instance of a model object for the new_[model] method.
Attributes
| block | [R] | |
| klass | [R] |
Public class methods
new
(klass, block)
[show source]
# File lib/fixjour/generator.rb, line 7 def initialize(klass, block) @klass, @block = klass, block end
Public instance methods
args
(overrides)
[show source]
# File lib/fixjour/generator.rb, line 20 def args(overrides) case block.arity when 1 then [MergingProxy.new(klass, overrides)] when 2 then [MergingProxy.new(klass, overrides), overrides] end end
call
(context, overrides={})
[show source]
# File lib/fixjour/generator.rb, line 11 def call(context, overrides={}) overrides = OverridesHash.new(overrides) result = block.bind(context).call(*args(overrides)) case result when Hash then klass.new(result.merge(overrides)) else result end end