diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-02-03 14:01:42 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-02-03 14:01:42 +0000 |
commit | 1a235738a8533edfe9314d79d327e2d2759366dc (patch) | |
tree | 67529f9b68a7fb04898f438d654bbd3157b11878 /lib/rss/syndication.rb | |
parent | 7376af3092722b2d4c16e236b3cd530c3de07543 (diff) | |
download | ruby-1a235738a8533edfe9314d79d327e2d2759366dc.tar.gz |
* lib/rss/2.0.rb, lib/rss/content.rb, lib/rss/dublincore.rb,
lib/rss/rss.rb, lib/rss/syndication.rb: removed warnings.
* lib/rss/converter.rb: removed handling load error of nkf.
* test/rss/test_syndication.rb, test/rss/test_trackback.rb,
test/rss/test_dublincore.rb, test/rss/test_content.rb: replaced
'require "rss/parser"' by 'require "rss/1.0"'.
* test/rss/test_parser.rb, test/rss/test_accessor.rb: removed
'require "rss/parser"'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rss/syndication.rb')
-rw-r--r-- | lib/rss/syndication.rb | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/lib/rss/syndication.rb b/lib/rss/syndication.rb index 39005f64c8..8f9ffb411f 100644 --- a/lib/rss/syndication.rb +++ b/lib/rss/syndication.rb @@ -13,13 +13,31 @@ module RSS ELEMENTS = [] - %w(updatePeriod updateFrequency).each do |x| - install_text_element("#{SY_PREFIX}_#{x}") - end + def self.included(mod) + mod.module_eval(<<-EOC) + %w(updatePeriod updateFrequency).each do |x| + install_text_element("\#{SY_PREFIX}_\#{x}") + end - %w(updateBase).each do |x| - install_date_element("#{SY_PREFIX}_#{x}", 'iso8601', x) - end + %w(updateBase).each do |x| + install_date_element("\#{SY_PREFIX}_\#{x}", 'iso8601', x) + end + + alias_method(:_sy_updatePeriod=, :sy_updatePeriod=) + def sy_updatePeriod=(new_value) + new_value = new_value.strip + validate_sy_updatePeriod(new_value) if @do_validate + self._sy_updatePeriod = new_value + end + + alias_method(:_sy_updateFrequency=, :sy_updateFrequency=) + def sy_updateFrequency=(new_value) + new_value = new_value.strip + validate_sy_updateFrequency(new_value) if @do_validate + self._sy_updateFrequency = new_value.to_i + end + EOC + end def sy_validate(tags) counter = {} @@ -35,21 +53,6 @@ module RSS end end - - alias_method(:_sy_updatePeriod=, :sy_updatePeriod=) - def sy_updatePeriod=(new_value) - new_value = new_value.strip - validate_sy_updatePeriod(new_value) if @do_validate - self._sy_updatePeriod = new_value - end - - alias_method(:_sy_updateFrequency=, :sy_updateFrequency=) - def sy_updateFrequency=(new_value) - new_value = new_value.strip - validate_sy_updateFrequency(new_value) if @do_validate - self._sy_updateFrequency = new_value.to_i - end - private SY_UPDATEPERIOD_AVAILABLE_VALUES = %w(hourly daily weekly monthly yearly) def validate_sy_updatePeriod(value) @@ -72,6 +75,7 @@ module RSS end prefix_size = SY_PREFIX.size + 1 + SyndicationModel::ELEMENTS.uniq! SyndicationModel::ELEMENTS.each do |x| BaseListener.install_get_text_element(x[prefix_size..-1], SY_URI, "#{x}=") end |