svnno****@sourc*****
svnno****@sourc*****
2009年 12月 2日 (水) 22:14:43 JST
Revision: 1097 http://sourceforge.jp/projects/hiki/svn/view?view=rev&revision=1097 Author: okkez Date: 2009-12-02 22:14:43 +0900 (Wed, 02 Dec 2009) Log Message: ----------- fix RSSPage to use correct URI Modified Paths: -------------- hiki/branches/rack/hiki/farm/dispatcher.rb hiki/branches/rack/hiki/farm/page.rb hiki/branches/rack/hiki/farm.rb Modified: hiki/branches/rack/hiki/farm/dispatcher.rb =================================================================== --- hiki/branches/rack/hiki/farm/dispatcher.rb 2009-11-30 15:35:21 UTC (rev 1096) +++ hiki/branches/rack/hiki/farm/dispatcher.rb 2009-12-02 13:14:43 UTC (rev 1097) @@ -6,7 +6,7 @@ request = Hiki::Request.new(env) conf = ::Hiki::Farm::Config.load(File.join(Hiki::PATH, 'hikifarm_conf.rb')) case request.path_info - when '/' + when '/', "/#{Hiki::Farm::RSSPage.page_name}" Hiki::Farm::App.new(conf).call(env) when %r!\A/(\w+)/! Hiki::App.new(File.join(conf.farm_root, $1, 'hikiconf.rb')).call(env) Modified: hiki/branches/rack/hiki/farm/page.rb =================================================================== --- hiki/branches/rack/hiki/farm/page.rb 2009-11-30 15:35:21 UTC (rev 1096) +++ hiki/branches/rack/hiki/farm/page.rb 2009-12-02 13:14:43 UTC (rev 1097) @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- require 'erb' +require 'uri' require 'hiki/util' module Hiki @@ -79,7 +80,7 @@ end def rss_href - "#{@hikifarm_uri}#{@manager.command_query(Hiki::Farm::RSSPage.command_name)}" + URI.join(@hikifarm_uri, RSSPage.page_name) end def template_name @@ -105,7 +106,6 @@ end end - # TODO: refactor class RSSPage include ::Hiki::Util @@ -113,11 +113,16 @@ def command_name 'rss' end + + def page_name + 'hikifarm.rss' + end end - def initialize(conf, manager) + def initialize(conf, manager, hikifarm_uri) @conf = conf @manager = manager + @hikifarm_uri = hikifarm_uri end def to_s @@ -129,17 +134,17 @@ def make_rss require 'rss' rss = RSS::Maker.make("1.0") do |maker| - maker.channel.about = "http://example.com/index.rdf" + maker.channel.about = URI.join(@hikifarm_uri, self.class.page_name).to_s maker.channel.title =****@conf***** maker.channel.description =****@conf*****_description - maker.channel.link = "http://example.com/" + maker.channel.link = @hikifarm_uri maker.items.do_sort = true maker.items.max_size = 15 @manager.wikilist.each do |wiki| maker.items.new_item do |item| - item.link = "http://example.com/article.html" + item.link = URI.join(@hikifarm_uri, wiki.name) item.title = wiki.title item.date = wiki.mtime item.description = wiki.description Modified: hiki/branches/rack/hiki/farm.rb =================================================================== --- hiki/branches/rack/hiki/farm.rb 2009-11-30 15:35:21 UTC (rev 1096) +++ hiki/branches/rack/hiki/farm.rb 2009-12-02 13:14:43 UTC (rev 1097) @@ -37,11 +37,11 @@ def run(manager, request) case - when request.get? && %r!\A/hikifarm.rss\z! =~ request.path_info - body = ::Hiki::Farm::RSSPage.new(@conf, manager).to_s + when request.get? && %r!\A/#{::Hiki::Farm::RSSPage.page_name}\z! =~ request.path_info + body = ::Hiki::Farm::RSSPage.new(@conf, manager, File.dirname(request.url)).to_s ::Hiki::Response.new(body, 200, { }) when request.get? && 'rss' == request.params[manager.command_key] - body = ::Hiki::Farm::RSSPage.new(@conf, manager).to_s + body = ::Hiki::Farm::RSSPage.new(@conf, manager, File.dirname(request.url)).to_s ::Hiki::Response.new(body, 200, { }) when request.post? && request.params['wiki'] && !request.params['wiki'].empty? begin