Skip to content

Commit

Permalink
Avoid class lookup collisions
Browse files Browse the repository at this point in the history
  • Loading branch information
mhfs committed Mar 31, 2012
1 parent b269992 commit 762b66c
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/factory_girl/preload/helpers.rb
Expand Up @@ -15,7 +15,7 @@ def self.included(base)

class_eval <<-RUBY, __FILE__, __LINE__
def #{method_name}(name)
factory(name, #{model})
factory(name, ::#{model})
end
RUBY
end
Expand Down
4 changes: 4 additions & 0 deletions spec/factory_girl/preload_spec.rb
Expand Up @@ -21,6 +21,10 @@
skills(:ruby).should be_a(Skill)
end

it "returns :my factory for Preload model" do
preloads(:my).should be_a(Preload)
end

it "reuses existing factories" do
skills(:ruby).user.should == users(:john)
end
Expand Down
2 changes: 2 additions & 0 deletions spec/support/app/app/models/preload.rb
@@ -0,0 +1,2 @@
class Preload < ActiveRecord::Base
end
5 changes: 5 additions & 0 deletions spec/support/app/db/schema.rb
Expand Up @@ -2,6 +2,7 @@
begin
drop_table :users
drop_table :skills
drop_table :preloads
rescue Exception => e
end

Expand All @@ -13,6 +14,10 @@

add_index :users, :email, :unique => true

create_table :preloads do |t|
t.string :name
end

create_table :skills do |t|
t.references :user
end
Expand Down
5 changes: 5 additions & 0 deletions spec/support/factories.rb
Expand Up @@ -8,8 +8,13 @@
f.association :user
end

factory :preload do |f|
f.name "My Preload"
end

preload do
factory(:john) { create(:user) }
factory(:ruby) { create(:skill, :user => users(:john)) }
factory(:my) { create(:preload) }
end
end

0 comments on commit 762b66c

Please sign in to comment.