[rspec-users] Missing methods

John D. Hume duelin.markers at gmail.com
Thu Jan 10 22:42:51 EST 2008


Your implementation looks so much like a ModelFactory my team
implemented last week that it's scary.  Anyway ...

Is it a typo that you show the "create_..." methods being def'd as
module methods (i.e., "def self.create...") while the
"valid_..._attribute" methods are instance methods?  That would
certainly cause NoMethodErrors (though it would affect specs as well
as other contexts).

-hume.


On Jan 10, 2008 8:27 PM, James Deville <james.deville at gmail.com> wrote:
> We have a custom implementation of the Mother Object idea. It's inside
> of a module, basically like this:
>
> module Factory
>         %w(account friendship person invitation message asset email_address
> birth).each do |klass|
>                 eval <<-EOF
>                 def self.create_#{klass}(attributes = {})
>                         default_attributes = valid_#{klass}_attributes
>                         #{klass.camelize}.create! default_attributes.merge(attributes)
>                 end
>                 EOF
>         end
>
>         def valid_message_attributes(options = {})
>                 {
>                 #some message options
>                 }
>         end
>
>         #more valid_x_attributes methods
> end
>
> When I require this file in a spec file, Factory.create_person works
> fine. When I try to do it in a step file, Factory.create_person is
> defined, but it fails because valid_person_attributes is missing. If
> I'm in a debugger, and I do require 'model_factory' followed by
> Factory.create_person, same deal.
>
> Do we have a blank slate being loaded somewhere, and why is it wiping
> out require files?
>
> Thanks
>
> James Deville
> http://devillecompanies.org
> james.deville at gmail.com
> rspec r3172
> rspec_on_rails r3172
> rails r8331
>
>
>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>


More information about the rspec-users mailing list