mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rss/content.rb, lib/rss/content/, lib/rss/maker/content.rb,
test/rss/test_content.rb, test/rss/test_maker_content.rb, test/rss/rss-testcase.rb (RSS::TestCase): supported content:encoded with RSS 2.0. Suggested by Sam Lown. Thanks. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a7f1c72e90
commit
79041dfc8d
9 changed files with 103 additions and 49 deletions
|
@ -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'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue