summaryrefslogtreecommitdiff
path: root/lib/rss/parser.rb
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-18 13:42:43 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-18 13:42:43 +0000
commit63c3fd6aa25a2dfc5742d40a646be1b55912117c (patch)
tree8596d82427401ab6e1b398e52368445cc1c79a5e /lib/rss/parser.rb
parente6037e61111921169bd8c937e489bd64dccaedb7 (diff)
* lib/rss/rss.rb: RSS::Element#initialize accepts initial
attributes. * lib/rss/0.9.rb: ditto. * lib/rss/1.0.rb: ditto. * lib/rss/2.0.rb: ditto. * lib/rss/dublincore.rb: ditto. * lib/rss/image.rb: ditto. * lib/rss/taxonomy.rb: ditto. * lib/rss/trackback.rb: ditto. * lib/rss/utils.rb: added Utils.element_initialize_arguments? to detect backward compatibility initial arguments. * lib/rss/parser.rb: user initial attributes to initialize RSS::Element. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rss/parser.rb')
-rw-r--r--lib/rss/parser.rb8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/rss/parser.rb b/lib/rss/parser.rb
index ce9fff0b38..9b9163dad2 100644
--- a/lib/rss/parser.rb
+++ b/lib/rss/parser.rb
@@ -377,8 +377,7 @@ module RSS
check_ns(tag_name, prefix, ns, klass.required_uri)
- args = []
-
+ attributes = {}
klass.get_attributes.each do |a_name, a_uri, required|
if a_uri.is_a?(String) or !a_uri.respond_to?(:include?)
@@ -407,12 +406,11 @@ module RSS
raise MissingAttributeError.new(tag_name, a_name)
end
- args << val
+ attributes[a_name] = val
end
previous = @last_element
- next_element = klass.new(*args)
- next_element.do_validate = @do_validate
+ next_element = klass.new(@do_validate, attributes)
previous.instance_eval {set_next_element(tag_name, next_element)}
@last_element = next_element
@proc_stack.push Proc.new { |text, tags|