From 1b56bcce22a069eba6afb7e36f654783e5b4fbbc Mon Sep 17 00:00:00 2001 From: kou Date: Sat, 15 Sep 2007 04:41:28 +0000 Subject: * lib/rss.rb, lib/rss/, test/rss/: - 0.1.9 -> 0.2.0. - supported Slash module. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rss/rss.rb | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'lib/rss/rss.rb') diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb index db507f78c8..e381c85406 100644 --- a/lib/rss/rss.rb +++ b/lib/rss/rss.rb @@ -53,7 +53,7 @@ require "rss/xml-stylesheet" module RSS - VERSION = "0.1.9" + VERSION = "0.2.0" URI = "http://purl.org/rss/1.0/" @@ -361,6 +361,12 @@ EOC end def csv_attr_reader(*attrs) + separator = nil + if attrs.last.is_a?(Hash) + options = attrs.pop + separator = options[:separator] + end + separator ||= ", " attrs.each do |attr| attr = attr.id2name if attr.kind_of?(Integer) module_eval(<<-EOC, __FILE__, __LINE__ + 1) @@ -369,7 +375,7 @@ EOC if @#{attr}.nil? @#{attr} else - @#{attr}.join(", ") + @#{attr}.join(#{separator.dump}) end end EOC @@ -531,6 +537,14 @@ EOC EOC end + def csv_integer_writer(name, disp_name=name) + module_eval(<<-EOC, __FILE__, __LINE__ + 1) + def #{name}=(new_value) + @#{name} = Utils::CSV.parse(new_value) {|v| Integer(v)} + end + EOC + end + def def_children_accessor(accessor_name, plural_name) module_eval(<<-EOC, *get_file_and_line_from_caller(2)) def #{plural_name} @@ -720,6 +734,8 @@ EOC yes_other_writer name, disp_name when :csv csv_writer name + when :csv_integer + csv_integer_writer name else attr_writer name end @@ -737,6 +753,8 @@ EOC yes_other_attr_reader name when :csv csv_attr_reader name + when :csv_integer + csv_attr_reader name, :separator => "," else convert_attr_reader name end -- cgit v1.2.3