1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/rss, test/rss: backported from trunk. (2005-11-16 - now)

* lib/rss/trackback.rb: added TrackBack prefix.
* lib/rss/maker/trackback.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kou 2006-06-17 00:09:29 +00:00
parent dfa92aff70
commit 2f30b86dca
3 changed files with 34 additions and 13 deletions

View file

@ -5,6 +5,9 @@ Sat Jun 17 09:03:47 2006 Kouhei Sutou <kou@cozmixng.org>
* lib/rss/rss.rb (RSS::VERSION): 0.1.5 -> 0.1.6. * lib/rss/rss.rb (RSS::VERSION): 0.1.5 -> 0.1.6.
* test/rss/test_version.rb (RSS::TestVersion#test_version): ditto. * test/rss/test_version.rb (RSS::TestVersion#test_version): ditto.
* lib/rss/trackback.rb: added TrackBack prefix.
* lib/rss/maker/trackback.rb: ditto.
Sat Jun 17 02:01:00 2006 Tanaka Akira <akr@m17n.org> Sat Jun 17 02:01:00 2006 Tanaka Akira <akr@m17n.org>
* lib/pp.rb (Kernel#pretty_inspect): defined for pretty printed * lib/pp.rb (Kernel#pretty_inspect): defined for pretty printed

View file

@ -41,7 +41,7 @@ module RSS
def_array_element("abouts") def_array_element("abouts")
def new_about def new_about
about = self.class::About.new(@maker) about = self.class::TrackBackAbout.new(@maker)
@abouts << about @abouts << about
about about
end end
@ -52,7 +52,7 @@ module RSS
end end
end end
class AboutBase class TrackBackAboutBase
include Base include Base
attr_accessor :value attr_accessor :value
@ -79,10 +79,10 @@ module RSS
class Items class Items
class Item class Item
class TrackBackAbouts < TrackBackAboutsBase class TrackBackAbouts < TrackBackAboutsBase
class About < AboutBase class TrackBackAbout < TrackBackAboutBase
def to_rss(rss, current) def to_rss(rss, current)
if resource if resource
about = ::RSS::TrackBackModel10::About.new(resource) about = ::RSS::TrackBackModel10::TrackBackAbout.new(resource)
current.trackback_abouts << about current.trackback_abouts << about
end end
end end
@ -98,7 +98,7 @@ module RSS
class TrackBackAbouts < TrackBackAboutsBase class TrackBackAbouts < TrackBackAboutsBase
def to_rss(*args) def to_rss(*args)
end end
class About < AboutBase class TrackBackAbout < TrackBackAboutBase
end end
end end
end end
@ -109,10 +109,10 @@ module RSS
class Items class Items
class Item class Item
class TrackBackAbouts < TrackBackAboutsBase class TrackBackAbouts < TrackBackAboutsBase
class About < AboutBase class TrackBackAbout < TrackBackAboutBase
def to_rss(rss, current) def to_rss(rss, current)
if content if content
about = ::RSS::TrackBackModel20::About.new(content) about = ::RSS::TrackBackModel20::TrackBackAbout.new(content)
current.trackback_abouts << about current.trackback_abouts << about
end end
end end

View file

@ -34,6 +34,9 @@ module RSS
end end
module BaseTrackBackModel module BaseTrackBackModel
ELEMENTS = %w(ping about)
def append_features(klass) def append_features(klass)
super super
@ -42,7 +45,7 @@ module RSS
%w(ping).each do |name| %w(ping).each do |name|
var_name = "#{TRACKBACK_PREFIX}_#{name}" var_name = "#{TRACKBACK_PREFIX}_#{name}"
klass_name = name.capitalize klass_name = "TrackBack#{Utils.to_class_name(name)}"
klass.install_have_child_element(var_name) klass.install_have_child_element(var_name)
klass.module_eval(<<-EOC, __FILE__, __LINE__) klass.module_eval(<<-EOC, __FILE__, __LINE__)
remove_method :#{var_name} remove_method :#{var_name}
@ -59,7 +62,7 @@ module RSS
[%w(about s)].each do |name, postfix| [%w(about s)].each do |name, postfix|
var_name = "#{TRACKBACK_PREFIX}_#{name}" var_name = "#{TRACKBACK_PREFIX}_#{name}"
klass_name = name.capitalize klass_name = "TrackBack#{Utils.to_class_name(name)}"
klass.install_have_children_element(var_name) klass.install_have_children_element(var_name)
klass.module_eval(<<-EOC, __FILE__, __LINE__) klass.module_eval(<<-EOC, __FILE__, __LINE__)
remove_method :#{var_name} remove_method :#{var_name}
@ -105,7 +108,7 @@ module RSS
extend BaseModel extend BaseModel
extend BaseTrackBackModel extend BaseTrackBackModel
class Ping < Element class TrackBackPing < Element
include RSS10 include RSS10
class << self class << self
@ -119,6 +122,8 @@ module RSS
end end
end end
@tag_name = "ping"
[ [
["resource", ::RSS::RDF::URI, true] ["resource", ::RSS::RDF::URI, true]
@ -153,7 +158,7 @@ module RSS
end end
class About < Element class TrackBackAbout < Element
include RSS10 include RSS10
class << self class << self
@ -168,6 +173,8 @@ module RSS
end end
@tag_name = "about"
[ [
["resource", ::RSS::RDF::URI, true] ["resource", ::RSS::RDF::URI, true]
].each do |name, uri, required| ].each do |name, uri, required|
@ -214,9 +221,11 @@ module RSS
extend BaseModel extend BaseModel
extend BaseTrackBackModel extend BaseTrackBackModel
class Ping < Element class TrackBackPing < Element
include RSS09 include RSS09
@tag_name = "ping"
content_setup content_setup
class << self class << self
@ -245,9 +254,11 @@ module RSS
end end
class About < Element class TrackBackAbout < Element
include RSS09 include RSS09
@tag_name = "about"
content_setup content_setup
class << self class << self
@ -287,4 +298,11 @@ module RSS
end end
end end
BaseTrackBackModel::ELEMENTS.each do |name|
class_name = Utils.to_class_name(name)
BaseListener.install_class_name(TRACKBACK_URI, name,
"TrackBack#{class_name}")
end
BaseTrackBackModel::ELEMENTS.collect! {|name| "#{TRACKBACK_PREFIX}_#{name}"}
end end