diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-30 12:56:33 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-30 12:56:33 +0000 |
commit | d731c29b0662e891192a317506bdbccc3c0819a9 (patch) | |
tree | c8db586c7c9a7697a9c85ef3c4f4597ff3f10891 /lib/rss | |
parent | a57d0b0926870d9cfb85e6bd325e084963661de1 (diff) |
* lib/rss/rss.rb, test/rss/test_version.rb: 0.2.0 -> 0.2.1.
* lib/rss/content.rb, lib/rss/content/1.0.rb,
lib/rss/content/2.0.rb, lib/rss/maker/content.rb,
test/rss/rss-testcase.rb, test/rss/test_content.rb,
test/rss/test_maker_content.rb: supported content:encoded with RSS 2.0.
Suggested by Sam Lown. Thanks.
* NEWS: added the above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rss')
-rw-r--r-- | lib/rss/content.rb | 23 | ||||
-rw-r--r-- | lib/rss/content/1.0.rb | 10 | ||||
-rw-r--r-- | lib/rss/content/2.0.rb | 12 | ||||
-rw-r--r-- | lib/rss/maker/content.rb | 1 | ||||
-rw-r--r-- | lib/rss/rss.rb | 4 |
5 files changed, 33 insertions, 17 deletions
diff --git a/lib/rss/content.rb b/lib/rss/content.rb index bb61d9ebc5..b12ee918aa 100644 --- a/lib/rss/content.rb +++ b/lib/rss/content.rb @@ -1,38 +1,31 @@ -require "rss/1.0" +require "rss/rss" module RSS - CONTENT_PREFIX = 'content' CONTENT_URI = "http://purl.org/rss/1.0/modules/content/" - RDF.install_ns(CONTENT_PREFIX, CONTENT_URI) - module ContentModel - extend BaseModel - ELEMENTS = [] + ELEMENTS = ["#{CONTENT_PREFIX}_encoded"] def self.append_features(klass) super klass.install_must_call_validator(CONTENT_PREFIX, CONTENT_URI) - %w(encoded).each do |name| - klass.install_text_element(name, CONTENT_URI, "?", - "#{CONTENT_PREFIX}_#{name}") + ELEMENTS.each do |full_name| + name = full_name[(CONTENT_PREFIX.size + 1)..-1] + klass.install_text_element(name, CONTENT_URI, "?", full_name) end end end - class RDF - class Item; include ContentModel; end - end - prefix_size = CONTENT_PREFIX.size + 1 - ContentModel::ELEMENTS.uniq! ContentModel::ELEMENTS.each do |full_name| name = full_name[prefix_size..-1] BaseListener.install_get_text_element(CONTENT_URI, name, full_name) end - end + +require 'rss/content/1.0' +require 'rss/content/2.0' diff --git a/lib/rss/content/1.0.rb b/lib/rss/content/1.0.rb new file mode 100644 index 0000000000..e7c0c19685 --- /dev/null +++ b/lib/rss/content/1.0.rb @@ -0,0 +1,10 @@ +require 'rss/1.0' +require 'rss/content' + +module RSS + RDF.install_ns(CONTENT_PREFIX, CONTENT_URI) + + class RDF + class Item; include ContentModel; end + end +end diff --git a/lib/rss/content/2.0.rb b/lib/rss/content/2.0.rb new file mode 100644 index 0000000000..8671b5b1a6 --- /dev/null +++ b/lib/rss/content/2.0.rb @@ -0,0 +1,12 @@ +require "rss/2.0" +require "rss/content" + +module RSS + Rss.install_ns(CONTENT_PREFIX, CONTENT_URI) + + class Rss + class Channel + class Item; include ContentModel; end + end + end +end diff --git a/lib/rss/maker/content.rb b/lib/rss/maker/content.rb index a1fd283116..46c4911f73 100644 --- a/lib/rss/maker/content.rb +++ b/lib/rss/maker/content.rb @@ -1,5 +1,6 @@ require 'rss/content' require 'rss/maker/1.0' +require 'rss/maker/2.0' module RSS module Maker diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb index d2e226c0fe..c42b86e72a 100644 --- a/lib/rss/rss.rb +++ b/lib/rss/rss.rb @@ -52,7 +52,7 @@ require "rss/xml-stylesheet" module RSS - VERSION = "0.2.0" + VERSION = "0.2.1" URI = "http://purl.org/rss/1.0/" @@ -207,7 +207,7 @@ EOC disp_name=nil) name ||= tag_name disp_name ||= name - self::ELEMENTS << name + self::ELEMENTS << name unless self::ELEMENTS.include?(name) add_need_initialize_variable(name) install_model(tag_name, uri, occurs, name) |