summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-01 13:30:08 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-01 13:30:08 +0000
commit4058e0bbefcc0c82b725b7dba0ac00de405b8d01 (patch)
tree14b80106549cee7003c56ccecac4027a24ad17d8 /lib
parent02acbbe1a2404a4be5ee998a907d32b2493b9e43 (diff)
downloadruby-4058e0bbefcc0c82b725b7dba0ac00de405b8d01.tar.gz
ruby-4058e0bbefcc0c82b725b7dba0ac00de405b8d01.tar.xz
ruby-4058e0bbefcc0c82b725b7dba0ac00de405b8d01.zip
* lib/rss/maker/base.rb: changed xml-stylesheet's API of RSS Maker
to like item's one. * lib/rss/xml-stylesheet.rb (RSS::XMLStyleSheet#guess_type): fixed regular expression bug. * test/rss/test_maker_xml-stylesheet.rb: updated tests for xml-stylesheet. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rss/maker/base.rb37
-rw-r--r--lib/rss/xml-stylesheet.rb2
2 files changed, 29 insertions, 10 deletions
diff --git a/lib/rss/maker/base.rb b/lib/rss/maker/base.rb
index a9f163950..eb61f37ee 100644
--- a/lib/rss/maker/base.rb
+++ b/lib/rss/maker/base.rb
@@ -143,7 +143,7 @@ module RSS
end
def setup_xml_stylesheets(rss)
- rss.xml_stylesheets = @xml_stylesheets.normalize
+ @xml_stylesheets.to_rss(rss)
end
end
@@ -153,22 +153,41 @@ module RSS
extend Forwardable
- def_delegators(:@xml_stylesheets, :<<, :[], :[]=)
+ def_delegators(:@xml_stylesheets, :<<, :[], :[]=, :first, :last)
+ def_delegators(:@xml_stylesheets, :push, :pop, :shift, :unshift)
def initialize(maker)
super
@xml_stylesheets = []
end
-
- def normalize
- @xml_stylesheets.collect do |info|
- make_xml_stylesheet(info)
+
+ def to_rss(rss)
+ @xml_stylesheets.each do |xss|
+ xss.to_rss(rss)
end
end
- private
- def make_xml_stylesheet(info)
- RSS::XMLStyleSheet.new(*info)
+ def new_xml_stylesheet
+ xss = XMLStyleSheet.new(@maker)
+ @xml_stylesheets << xss
+ xss
+ end
+
+ class XMLStyleSheet
+ include Base
+
+ ::RSS::XMLStyleSheet::ATTRIBUTES.each do |attribute|
+ attr_accessor attribute
+ add_need_initialize_variable(attribute)
+ end
+
+ def to_rss(rss)
+ xss = ::RSS::XMLStyleSheet.new
+ set = setup_values(xss)
+ if set
+ rss.xml_stylesheets << xss
+ end
+ end
end
end
diff --git a/lib/rss/xml-stylesheet.rb b/lib/rss/xml-stylesheet.rb
index 726899ed8..c51c0dc71 100644
--- a/lib/rss/xml-stylesheet.rb
+++ b/lib/rss/xml-stylesheet.rb
@@ -86,7 +86,7 @@ module RSS
private
def guess_type(filename)
- /\.([^.]+)/ =~ filename
+ /\.([^.]+)$/ =~ filename
GUESS_TABLE[$1]
end