Class: FixtureReplacement::MethodGenerator
- Inherits:
-
Object
- Object
- FixtureReplacement::MethodGenerator
- Defined in:
- lib/fixture_replacement/method_generator.rb
Instance Method Summary collapse
- #generate_methods ⇒ Object
-
#initialize(builder, evaluation_module) ⇒ MethodGenerator
constructor
A new instance of MethodGenerator.
Constructor Details
#initialize(builder, evaluation_module) ⇒ MethodGenerator
Returns a new instance of MethodGenerator.
3 4 5 6 |
# File 'lib/fixture_replacement/method_generator.rb', line 3 def initialize(builder, evaluation_module) @builder = builder @evaluation_module = evaluation_module end |
Instance Method Details
#generate_methods ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/fixture_replacement/method_generator.rb', line 8 def generate_methods builder = @builder builder_name = builder.fixture_name @evaluation_module.module_eval do define_method("valid_#{builder_name}_attributes") do |*args| obj = __send__ "new_#{builder_name}" obj.attributes end define_method("create_#{builder_name}") do |*args| obj = __send__("new_#{builder_name}", *args) obj.save! obj end define_method("new_#{builder_name}") do |*args| new_object = builder.instantiate(*args) end end end |