summaryrefslogtreecommitdiff
path: root/lib/rss
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-16 10:36:17 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-16 10:36:17 +0000
commit7212b5fd3781bd55e0630fe78339fdf176af1224 (patch)
tree38270fe5d891ab39581a4f62fa3010bbd5e5b1b4 /lib/rss
parentda03c91a676f40907b51beefa49f0afb11504a11 (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.rb1
-rw-r--r--lib/rss/maker/base.rb19
-rw-r--r--lib/rss/maker/feed.rb2
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)