summaryrefslogtreecommitdiff
path: root/lib/rss/rss.rb
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-15 04:41:28 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-09-15 04:41:28 +0000
commit1b56bcce22a069eba6afb7e36f654783e5b4fbbc (patch)
treea95638b481c27eedfb67197660b22667466d5831 /lib/rss/rss.rb
parentb528261ad821d84b6a392d9497cea6f199cba307 (diff)
* 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
Diffstat (limited to 'lib/rss/rss.rb')
-rw-r--r--lib/rss/rss.rb22
1 files changed, 20 insertions, 2 deletions
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