summaryrefslogtreecommitdiff
path: root/lib/rss/maker/base.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rss/maker/base.rb')
-rw-r--r--lib/rss/maker/base.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/rss/maker/base.rb b/lib/rss/maker/base.rb
index 752b2fa58f..fdb8946efc 100644
--- a/lib/rss/maker/base.rb
+++ b/lib/rss/maker/base.rb
@@ -151,6 +151,20 @@ module RSS
end
EOC
end
+
+ def def_csv_element(name, type=nil)
+ def_other_element_without_accessor(name)
+ attr_reader(name)
+ converter = ""
+ if type == :integer
+ converter = "{|v| Integer(v)}"
+ end
+ module_eval(<<-EOC, __FILE__, __LINE__ + 1)
+ def #{name}=(value)
+ @#{name} = Utils::CSV.parse(value)#{converter}
+ end
+ EOC
+ end
end
attr_reader :maker