1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/rss/rss.rb (RSS::Element#convert): added.

* lib/rss/rss.rb: convert -> need_convert.
* lib/rss/1.0.rb: ditto.
* lib/rss/0.9.rb: ditto.
* lib/rss/2.0.rb: ditto.
* lib/rss/trackback.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kou 2005-02-02 13:04:32 +00:00
parent 296f79bef5
commit 4af65e86a8
6 changed files with 88 additions and 66 deletions

View file

@ -164,7 +164,7 @@ module RSS
install_element(name) do |n, elem_name|
<<-EOC
if @#{n}
"\#{@#{n}.to_s(convert, indent)}"
"\#{@#{n}.to_s(need_convert, indent)}"
else
''
end
@ -183,7 +183,7 @@ EOC
<<-EOC
rv = []
@#{n}.each do |x|
value = "\#{x.to_s(convert, indent)}"
value = "\#{x.to_s(need_convert, indent)}"
rv << value if /\\A\\s*\\z/ !~ value
end
rv.join("\n")
@ -202,8 +202,8 @@ EOC
if @#{n}
rv = "\#{indent}<#{elem_name}>"
value = html_escape(@#{n})
if convert and @converter
rv << @converter.convert(value)
if need_convert
rv << convert(value)
else
rv << value
end
@ -260,8 +260,8 @@ EOC
if @#{n}
rv = "\#{indent}<#{elem_name}>"
value = html_escape(@#{n}.#{type})
if convert and @converter
rv << @converter.convert(value)
if need_convert
rv << convert(value)
else
rv << value
end
@ -279,7 +279,7 @@ EOC
def install_element(name, postfix="")
elem_name = name.sub('_', ':')
module_eval(<<-EOC, *get_file_and_line_from_caller(2))
def #{name}_element#{postfix}(convert=true, indent='')
def #{name}_element#{postfix}(need_convert=true, indent='')
#{yield(name, elem_name)}
end
private :#{name}_element#{postfix}
@ -332,12 +332,12 @@ EOC
def def_content_only_to_s
module_eval(<<-EOC, *get_file_and_line_from_caller(2))
def to_s(convert=true, indent=calc_indent)
def to_s(need_convert=true, indent=calc_indent)
if @content
rv = tag(indent) do |next_indent|
h(@content)
end
rv = @converter.convert(rv) if convert and @converter
rv = convert(rv) if need_convert
rv
else
""
@ -515,6 +515,14 @@ EOC
child.converter = converter unless child.nil?
end
end
def convert(value)
if @converter
@converter.convert(value)
else
value
end
end
def validate
validate_attribute
@ -692,12 +700,12 @@ EOC
end
end
def other_element(convert, indent='')
def other_element(need_convert, indent='')
rv = []
private_methods.each do |meth|
if /\A([^_]+)_[^_]+_elements?\z/ =~ meth and
self.class::NSPOOL.has_key?($1)
res = __send__(meth, convert)
res = __send__(meth, need_convert)
rv << "#{indent}#{res}" if /\A\s*\z/ !~ res
end
end