diff options
| author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-05-16 10:36:17 +0000 |
|---|---|---|
| committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-05-16 10:36:17 +0000 |
| commit | 7212b5fd3781bd55e0630fe78339fdf176af1224 (patch) | |
| tree | 38270fe5d891ab39581a4f62fa3010bbd5e5b1b4 /lib/rss | |
| parent | da03c91a676f40907b51beefa49f0afb11504a11 (diff) | |
merge r23445.
* lib/rss/maker/base.rb, lib/rss/maker/1.0.rb, lib/rss/maker/feed.rb,
test/rss/test_maker_1.0.rb, test/rss/test_maker_atom_feed.rb:
RSS 1.0 and Atom feed maker treat maker.channel.language as
maker.channel.dc_language.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rss')
| -rw-r--r-- | lib/rss/maker/1.0.rb | 1 | ||||
| -rw-r--r-- | lib/rss/maker/base.rb | 19 | ||||
| -rw-r--r-- | lib/rss/maker/feed.rb | 2 |
3 files changed, 22 insertions, 0 deletions
diff --git a/lib/rss/maker/1.0.rb b/lib/rss/maker/1.0.rb index a1e2594f70..d77dd58d02 100644 --- a/lib/rss/maker/1.0.rb +++ b/lib/rss/maker/1.0.rb @@ -25,6 +25,7 @@ module RSS end class Channel < ChannelBase + include SetupDefaultLanguage def to_feed(rss) set_default_values do diff --git a/lib/rss/maker/base.rb b/lib/rss/maker/base.rb index 3a7d255ae9..15b4a3173e 100644 --- a/lib/rss/maker/base.rb +++ b/lib/rss/maker/base.rb @@ -372,6 +372,25 @@ module RSS end end + module SetupDefaultLanguage + private + def _set_default_values(&block) + keep = { + :dc_languages => dc_languages.to_a.dup, + } + _language = language + if _language and + !dc_languages.any? {|dc_language| dc_language.value == _language} + dc_language = self.class::DublinCoreLanguages::DublinCoreLanguage.new(self) + dc_language.value = _language.dup + dc_languages.unshift(dc_language) + end + super(&block) + ensure + dc_languages.replace(keep[:dc_languages]) + end + end + class RSSBase < Base class << self def make(*args, &block) diff --git a/lib/rss/maker/feed.rb b/lib/rss/maker/feed.rb index 3a30ad4287..fa3a177160 100644 --- a/lib/rss/maker/feed.rb +++ b/lib/rss/maker/feed.rb @@ -22,6 +22,8 @@ module RSS end class Channel < ChannelBase + include SetupDefaultLanguage + def to_feed(feed) set_default_values do setup_values(feed) |
