mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rss/rss.rb: automatically detected attributes.
* lib/rss/0.9.rb: removed #_attrs. * lib/rss/1.0.rb: ditto. * lib/rss/2.0.rb: ditto. * lib/rss/image.rb: ditto. * lib/rss/taxonomy.rb: ditto. * lib/rss/trackback.rb: ditto. * lib/rss/parser.rb: followed new internal API. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f29e486c7a
commit
6cfd4dd122
9 changed files with 54 additions and 139 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
||||||
|
Mon Jun 19 00:02:17 2006 Kouhei Sutou <kou@cozmixng.org>
|
||||||
|
|
||||||
|
* lib/rss/rss.rb: automatically detected attributes.
|
||||||
|
|
||||||
|
* lib/rss/0.9.rb: removed #_attrs.
|
||||||
|
* lib/rss/1.0.rb: ditto.
|
||||||
|
* lib/rss/2.0.rb: ditto.
|
||||||
|
* lib/rss/image.rb: ditto.
|
||||||
|
* lib/rss/taxonomy.rb: ditto.
|
||||||
|
* lib/rss/trackback.rb: ditto.
|
||||||
|
|
||||||
|
* lib/rss/parser.rb: followed new internal API.
|
||||||
|
|
||||||
Mon Jun 19 00:00:17 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
|
Mon Jun 19 00:00:17 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
|
||||||
|
|
||||||
* ext/tk/lib/multi-tk.rb: fix bug: initialize improper tables.
|
* ext/tk/lib/multi-tk.rb: fix bug: initialize improper tables.
|
||||||
|
|
|
@ -395,7 +395,7 @@ module RSS
|
||||||
class Cloud < Element
|
class Cloud < Element
|
||||||
|
|
||||||
include RSS09
|
include RSS09
|
||||||
|
|
||||||
[
|
[
|
||||||
["domain", "", true],
|
["domain", "", true],
|
||||||
["port", "", true, :integer],
|
["port", "", true, :integer],
|
||||||
|
@ -424,14 +424,6 @@ module RSS
|
||||||
rv = convert(rv) if need_convert
|
rv = convert(rv) if need_convert
|
||||||
rv
|
rv
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
|
||||||
def _attrs
|
|
||||||
%w(domain port path registerProcedure protocol).collect do |attr|
|
|
||||||
[attr, true]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class Item < Element
|
class Item < Element
|
||||||
|
@ -540,13 +532,6 @@ module RSS
|
||||||
[]
|
[]
|
||||||
end
|
end
|
||||||
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["url", true]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
def maker_target(item)
|
def maker_target(item)
|
||||||
item.source
|
item.source
|
||||||
end
|
end
|
||||||
|
@ -587,14 +572,6 @@ module RSS
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["url", true],
|
|
||||||
["length", true],
|
|
||||||
["type", true],
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(item)
|
def maker_target(item)
|
||||||
item.enclosure
|
item.enclosure
|
||||||
end
|
end
|
||||||
|
@ -629,12 +606,6 @@ module RSS
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["domain", false]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(item)
|
def maker_target(item)
|
||||||
item.new_category
|
item.new_category
|
||||||
end
|
end
|
||||||
|
|
|
@ -125,13 +125,6 @@ module RSS
|
||||||
rv = convert(rv) if need_convert
|
rv = convert(rv) if need_convert
|
||||||
rv
|
rv
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["resource", true]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class Seq < Element
|
class Seq < Element
|
||||||
|
@ -277,7 +270,8 @@ module RSS
|
||||||
[
|
[
|
||||||
["about", URI, true]
|
["about", URI, true]
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{PREFIX}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
%w(title link description).each do |name|
|
%w(title link description).each do |name|
|
||||||
|
@ -342,12 +336,6 @@ module RSS
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{PREFIX}:about", true, "about"]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(maker)
|
def maker_target(maker)
|
||||||
maker.channel
|
maker.channel
|
||||||
end
|
end
|
||||||
|
@ -371,7 +359,8 @@ module RSS
|
||||||
[
|
[
|
||||||
["resource", URI, true]
|
["resource", URI, true]
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{PREFIX}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize(*args)
|
def initialize(*args)
|
||||||
|
@ -388,13 +377,6 @@ module RSS
|
||||||
rv = convert(rv) if need_convert
|
rv = convert(rv) if need_convert
|
||||||
rv
|
rv
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{PREFIX}:resource", true, "resource"]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class Textinput < Element
|
class Textinput < Element
|
||||||
|
@ -412,7 +394,8 @@ module RSS
|
||||||
[
|
[
|
||||||
["resource", URI, true]
|
["resource", URI, true]
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{PREFIX}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize(*args)
|
def initialize(*args)
|
||||||
|
@ -429,13 +412,6 @@ module RSS
|
||||||
rv = convert(rv) if need_convert
|
rv = convert(rv) if need_convert
|
||||||
rv
|
rv
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{PREFIX}:resource", true, "resource"]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class Items < Element
|
class Items < Element
|
||||||
|
@ -513,11 +489,12 @@ module RSS
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
[
|
[
|
||||||
["about", URI, true]
|
["about", URI, true]
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{PREFIX}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
%w(title url link).each do |name|
|
%w(title url link).each do |name|
|
||||||
|
@ -565,12 +542,6 @@ module RSS
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{PREFIX}:about", true, "about"]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(maker)
|
def maker_target(maker)
|
||||||
maker.image
|
maker.image
|
||||||
end
|
end
|
||||||
|
@ -588,10 +559,12 @@ module RSS
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
[
|
[
|
||||||
["about", URI, true]
|
["about", URI, true]
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{PREFIX}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
%w(title link description).each do |name|
|
%w(title link description).each do |name|
|
||||||
|
@ -639,12 +612,6 @@ module RSS
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{PREFIX}:about", true, "about"]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(items)
|
def maker_target(items)
|
||||||
if items.respond_to?("items")
|
if items.respond_to?("items")
|
||||||
# For backward compatibility
|
# For backward compatibility
|
||||||
|
@ -669,7 +636,8 @@ module RSS
|
||||||
[
|
[
|
||||||
["about", URI, true]
|
["about", URI, true]
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{PREFIX}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
%w(title description name link).each do |name|
|
%w(title description name link).each do |name|
|
||||||
|
@ -719,12 +687,6 @@ module RSS
|
||||||
__send__(name).nil?
|
__send__(name).nil?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{PREFIX}:about", true, "about"]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(maker)
|
def maker_target(maker)
|
||||||
maker.textinput
|
maker.textinput
|
||||||
|
|
|
@ -149,12 +149,6 @@ EOT
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["isPermaLink", false]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(item)
|
def maker_target(item)
|
||||||
item.guid
|
item.guid
|
||||||
end
|
end
|
||||||
|
|
|
@ -55,12 +55,13 @@ module RSS
|
||||||
IMAGE_URI
|
IMAGE_URI
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
[
|
[
|
||||||
["about", ::RSS::RDF::URI, true],
|
["about", ::RSS::RDF::URI, true],
|
||||||
["resource", ::RSS::RDF::URI, false],
|
["resource", ::RSS::RDF::URI, false],
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{::RSS::RDF::PREFIX}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
%w(width height).each do |tag|
|
%w(width height).each do |tag|
|
||||||
|
@ -108,13 +109,6 @@ module RSS
|
||||||
__send__(name).nil?
|
__send__(name).nil?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{::RSS::RDF::PREFIX}:about", true, "about"],
|
|
||||||
["#{::RSS::RDF::PREFIX}:resource", false, "resource"],
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(target)
|
def maker_target(target)
|
||||||
target.image_item
|
target.image_item
|
||||||
|
@ -158,12 +152,13 @@ module RSS
|
||||||
IMAGE_URI
|
IMAGE_URI
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
[
|
[
|
||||||
["about", ::RSS::RDF::URI, true],
|
["about", ::RSS::RDF::URI, true, ::RSS::RDF::PREFIX],
|
||||||
["size", IMAGE_URI, true],
|
["size", IMAGE_URI, true, IMAGE_PREFIX],
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required, prefix|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{prefix}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
AVAILABLE_SIZES = %w(small medium large)
|
AVAILABLE_SIZES = %w(small medium large)
|
||||||
|
@ -208,13 +203,6 @@ module RSS
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{::RSS::RDF::PREFIX}:about", true, "about"],
|
|
||||||
["#{IMAGE_PREFIX}:size", true, "size"],
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(target)
|
def maker_target(target)
|
||||||
target.image_favicon
|
target.image_favicon
|
||||||
end
|
end
|
||||||
|
|
|
@ -378,7 +378,7 @@ module RSS
|
||||||
check_ns(tag_name, prefix, ns, klass.required_uri)
|
check_ns(tag_name, prefix, ns, klass.required_uri)
|
||||||
|
|
||||||
attributes = {}
|
attributes = {}
|
||||||
klass.get_attributes.each do |a_name, a_uri, required|
|
klass.get_attributes.each do |a_name, a_uri, required, element_name|
|
||||||
|
|
||||||
if a_uri.is_a?(String) or !a_uri.respond_to?(:include?)
|
if a_uri.is_a?(String) or !a_uri.respond_to?(:include?)
|
||||||
a_uri = [a_uri]
|
a_uri = [a_uri]
|
||||||
|
|
|
@ -482,13 +482,16 @@ EOC
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.install_get_attribute(name, uri, required=true,
|
def self.install_get_attribute(name, uri, required=true,
|
||||||
type=nil, disp_name=name)
|
type=nil, disp_name=nil,
|
||||||
|
element_name=nil)
|
||||||
|
disp_name ||= name
|
||||||
|
element_name ||= name
|
||||||
def_corresponded_attr_writer name, type, disp_name
|
def_corresponded_attr_writer name, type, disp_name
|
||||||
convert_attr_reader name
|
convert_attr_reader name
|
||||||
if type == :boolean and /^is/ =~ name
|
if type == :boolean and /^is/ =~ name
|
||||||
alias_method "\#{$POSTMATCH}?", name
|
alias_method "\#{$POSTMATCH}?", name
|
||||||
end
|
end
|
||||||
GET_ATTRIBUTES << [name, uri, required]
|
GET_ATTRIBUTES << [name, uri, required, element_name]
|
||||||
add_need_initialize_variable(disp_name)
|
add_need_initialize_variable(disp_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -751,7 +754,9 @@ EOC
|
||||||
end
|
end
|
||||||
|
|
||||||
def _attrs
|
def _attrs
|
||||||
[]
|
self.class.get_attributes.collect do |name, uri, required, element_name|
|
||||||
|
[element_name, required, name]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def __validate(ignore_unknown_element, tags=_tags, recursive=true)
|
def __validate(ignore_unknown_element, tags=_tags, recursive=true)
|
||||||
|
|
|
@ -157,7 +157,8 @@ module RSS
|
||||||
|
|
||||||
@tag_name = "topic"
|
@tag_name = "topic"
|
||||||
|
|
||||||
install_get_attribute("about", ::RSS::RDF::URI, true)
|
install_get_attribute("about", ::RSS::RDF::URI, true, nil, nil,
|
||||||
|
"#{RDF::PREFIX}:about")
|
||||||
install_text_element("#{TAXO_PREFIX}_link")
|
install_text_element("#{TAXO_PREFIX}_link")
|
||||||
|
|
||||||
def initialize(*args)
|
def initialize(*args)
|
||||||
|
@ -205,12 +206,6 @@ module RSS
|
||||||
[@taxo_link, @taxo_topics]
|
[@taxo_link, @taxo_topics]
|
||||||
end
|
end
|
||||||
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{RDF::PREFIX}:about", true, "about"]
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def _tags
|
def _tags
|
||||||
rv = []
|
rv = []
|
||||||
rv << [TAXO_URI, "link"] unless @taxo_link.nil?
|
rv << [TAXO_URI, "link"] unless @taxo_link.nil?
|
||||||
|
|
|
@ -126,16 +126,16 @@ module RSS
|
||||||
end
|
end
|
||||||
|
|
||||||
@tag_name = "ping"
|
@tag_name = "ping"
|
||||||
|
|
||||||
[
|
[
|
||||||
["resource", ::RSS::RDF::URI, true]
|
["resource", ::RSS::RDF::URI, true]
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{::RSS::RDF::PREFIX}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
alias_method(:value, :resource)
|
alias_method(:value, :resource)
|
||||||
alias_method(:value=, :resource=)
|
alias_method(:value=, :resource=)
|
||||||
|
|
||||||
def initialize(*args)
|
def initialize(*args)
|
||||||
if Utils.element_initialize_arguments?(args)
|
if Utils.element_initialize_arguments?(args)
|
||||||
super
|
super
|
||||||
|
@ -154,14 +154,6 @@ module RSS
|
||||||
rv = convert(rv) if need_convert
|
rv = convert(rv) if need_convert
|
||||||
rv
|
rv
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{::RSS::RDF::PREFIX}:resource", true, "resource"],
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class TrackBackAbout < Element
|
class TrackBackAbout < Element
|
||||||
|
@ -180,11 +172,12 @@ module RSS
|
||||||
end
|
end
|
||||||
|
|
||||||
@tag_name = "about"
|
@tag_name = "about"
|
||||||
|
|
||||||
[
|
[
|
||||||
["resource", ::RSS::RDF::URI, true]
|
["resource", ::RSS::RDF::URI, true]
|
||||||
].each do |name, uri, required|
|
].each do |name, uri, required|
|
||||||
install_get_attribute(name, uri, required)
|
install_get_attribute(name, uri, required, nil, nil,
|
||||||
|
"#{::RSS::RDF::PREFIX}:#{name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
alias_method(:value, :resource)
|
alias_method(:value, :resource)
|
||||||
|
@ -210,12 +203,6 @@ module RSS
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def _attrs
|
|
||||||
[
|
|
||||||
["#{::RSS::RDF::PREFIX}:resource", true, "resource"],
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
def maker_target(abouts)
|
def maker_target(abouts)
|
||||||
abouts.new_about
|
abouts.new_about
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue