diff options
Diffstat (limited to 'lib/rss/trackback.rb')
-rw-r--r-- | lib/rss/trackback.rb | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/lib/rss/trackback.rb b/lib/rss/trackback.rb index 439bdf3843..973a1035d1 100644 --- a/lib/rss/trackback.rb +++ b/lib/rss/trackback.rb @@ -11,18 +11,10 @@ module RSS module TrackBackUtils private - def new_with_value_if_need(klass, value) - if value.is_a?(klass) - value - else - klass.new(value) - end - end - def trackback_validate(tags) counter = {} - %w(ping about).each do |x| - counter["#{TRACKBACK_PREFIX}_#{x}"] = 0 + %w(ping about).each do |name| + counter["#{TRACKBACK_PREFIX}_#{name}"] = 0 end tags.each do |tag| @@ -48,9 +40,9 @@ module RSS unless klass.class == Module klass.__send__(:include, TrackBackUtils) - %w(ping).each do |x| - var_name = "#{TRACKBACK_PREFIX}_#{x}" - klass_name = x.capitalize + %w(ping).each do |name| + var_name = "#{TRACKBACK_PREFIX}_#{name}" + klass_name = name.capitalize klass.install_have_child_element(var_name) klass.module_eval(<<-EOC, __FILE__, __LINE__) remove_method :#{var_name} @@ -60,7 +52,7 @@ module RSS remove_method :#{var_name}= def #{var_name}=(value) - @#{var_name} = new_with_value_if_need(#{klass_name}, value) + @#{var_name} = Utils.new_with_value_if_need(#{klass_name}, value) end EOC end @@ -88,16 +80,16 @@ module RSS remove_method :set_#{var_name} def #{var_name}=(*args) if args.size == 1 - item = new_with_value_if_need(#{klass_name}, args[0]) + item = Utils.new_with_value_if_need(#{klass_name}, args[0]) @#{var_name}.push(item) else new_val = args.last if new_val.is_a?(Array) new_val = new_value.collect do |val| - new_with_value_if_need(#{klass_name}, val) + Utils.new_with_value_if_need(#{klass_name}, val) end else - new_val = new_with_value_if_need(#{klass_name}, new_val) + new_val = Utils.new_with_value_if_need(#{klass_name}, new_val) end @#{var_name}.send("[]=", *(args[0..-2] + [new_val])) end |