I'm just wondering whether it's possible to create an attribute called "alias" using FactoryGirl, since alias is a reserved word in Ruby.
factory :blah do
Ruby doesn't know whether you're trying to call a method called
alias or alias one method as another, and defaults to the latter. You can disambiguate by doing
ie, by explicitly specifying the receiver. This is usually the way to go in other cases where it is ambiguous whether you are calling a method or doing something else e.g.
self.foo = 'bar'
to call the
foo= method rather than create a local variable called foo.
For a small number of field names this won't work. Factory girl's DSL uses
method_missing so if the DSL object has a method of that name it will be called instead. In those cases you can do what the DSL sugar normal does for you and call
FactoryGirl.define do factory :blah do add_attribute :name, "some value" end end
is the same as
FactoryGirl.define do factory :blah do name "some value" end end