From a50adda6c31b1b8fe929bb5be3e00e6125f577f0 Mon Sep 17 00:00:00 2001 From: Joshua Clayton Date: Sun, 9 Oct 2011 17:14:40 -0400 Subject: [PATCH] Reorganize #add_attribute --- lib/factory_girl/attribute_list.rb | 1 + lib/factory_girl/definition_proxy.rb | 13 +++++-------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/factory_girl/attribute_list.rb b/lib/factory_girl/attribute_list.rb index 08774f97f..901d7326a 100644 --- a/lib/factory_girl/attribute_list.rb +++ b/lib/factory_girl/attribute_list.rb @@ -13,6 +13,7 @@ def initialize def declare_attribute(declaration) @declarations << declaration + declaration end def define_attribute(attribute) diff --git a/lib/factory_girl/definition_proxy.rb b/lib/factory_girl/definition_proxy.rb index 230225e36..f8d076089 100644 --- a/lib/factory_girl/definition_proxy.rb +++ b/lib/factory_girl/definition_proxy.rb @@ -33,18 +33,15 @@ def initialize(factory, ignore = false) # * value: +Object+ # If no block is given, this value will be used for this attribute. def add_attribute(name, value = nil, &block) - if block_given? - if value - raise AttributeDefinitionError, "Both value and block given" - else - declaration = Declaration::Dynamic.new(name, @ignore, block) - end + raise AttributeDefinitionError, "Both value and block given" if value && block_given? + + declaration = if block_given? + Declaration::Dynamic.new(name, @ignore, block) else - declaration = FactoryGirl::Declaration::Static.new(name, value, @ignore) + Declaration::Static.new(name, value, @ignore) end @factory.declare_attribute(declaration) - declaration end def ignore(&block)