diff options
Diffstat (limited to 'lib/rss/parser.rb')
-rw-r--r-- | lib/rss/parser.rb | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/rss/parser.rb b/lib/rss/parser.rb index e1da24418a..1030c8f5d4 100644 --- a/lib/rss/parser.rb +++ b/lib/rss/parser.rb @@ -364,10 +364,9 @@ module RSS previous = @last_element next_element = klass.send(:new, *args) next_element.do_validate = @do_validate - setter = "" - setter << "#{klass.required_prefix}_" if klass.required_prefix - setter << "#{tag_name}=" - @last_element.send(setter, next_element) + prefix = "" + prefix << "#{klass.required_prefix}_" if klass.required_prefix + previous.__send__(:set_next_element, prefix, tag_name, next_element) @last_element = next_element @proc_stack.push Proc.new { |text, tags| p(@last_element.class) if DEBUG |