From b137ab14f7ddf3811db87297369f882d13698a1b Mon Sep 17 00:00:00 2001 From: Chris Berkhout Date: Mon, 17 Jan 2011 02:56:47 +1100 Subject: [PATCH] #store_list_for and #list_for fixed: previously compacted only with values, now do it for values AND a block. --- lib/babushka/accepts_list_for.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/babushka/accepts_list_for.rb b/lib/babushka/accepts_list_for.rb index 12c895767..449e7087c 100644 --- a/lib/babushka/accepts_list_for.rb +++ b/lib/babushka/accepts_list_for.rb @@ -19,7 +19,7 @@ def #{method_name} *args, &block elsif args.blank? && block.nil? #{opts[:type]}_for #{method_name.inspect}, #{default.inspect} else - store_#{opts[:type]}_for #{method_name.inspect}, block || [*args.compact].flatten, #{opts[:choose_with].inspect} + store_#{opts[:type]}_for #{method_name.inspect}, block || [*args].flatten, #{opts[:choose_with].inspect} self end end @@ -37,7 +37,7 @@ def store_list_for method_name, data, choose_with def list_for method_name, default if payload.has_key? method_name - payload[method_name].map {|i| i.respond_to?(:call) ? i.call : i } + payload[method_name].map {|i| i.respond_to?(:call) ? i.call : i }.compact else [*(default.is_a?(Symbol) ? send(default) : (default || []))] end