diff --git a/lib/factory_girl/attribute_assigner.rb b/lib/factory_girl/attribute_assigner.rb index 9e67c27..8930246 100644 --- a/lib/factory_girl/attribute_assigner.rb +++ b/lib/factory_girl/attribute_assigner.rb @@ -42,8 +42,7 @@ module FactoryGirl end def attribute_names_to_assign - override_names = @evaluator.__overrides.keys - non_ignored_attribute_names + override_names - ignored_attribute_names + (non_ignored_attribute_names + override_names - ignored_attribute_names - aliases_to_ignore) end def non_ignored_attribute_names @@ -57,5 +56,15 @@ module FactoryGirl def association_names @attribute_list.select(&:association?).map(&:name) end + + def override_names + @evaluator.__overrides.keys + end + + def aliases_to_ignore + @attribute_list.reject(&:ignored).map do |attribute| + override_names.map {|o| attribute.name if attribute.alias_for?(o) && attribute.name != o } + end.flatten.compact + end end end