content_controller.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:1k
源码类别:

Ajax

开发平台:

Others

  1. # The filters added to this controller will be run for all controllers in the application.
  2. # Likewise will all the methods added be available for all controllers.
  3. class ContentController < ApplicationController
  4.   class ExpiryFilter
  5.     def before(controller)
  6.       @request_time = Time.now
  7.     end
  8.     def after(controller)
  9.        future_article =
  10.          Article.find(:first,
  11.                       :conditions => ['published = ? AND published_at > ?', true, @request_time],
  12.                       :order =>  "published_at ASC" )
  13.        if future_article
  14.          delta = future_article.published_at - Time.now
  15.          controller.response.lifetime = (delta <= 0) ? 0 : delta
  16.        end
  17.     end
  18.   end
  19.   include LoginSystem
  20.   before_filter :setup_themer
  21.   helper :theme
  22.   protected
  23.   # TODO: Make this work for all content.
  24.   def auto_discovery_feed(options = { })
  25.     with_options(options.reverse_merge(:only_path => true)) do |opts|
  26.       @auto_discovery_url_rss = opts.url_for(:format => 'rss')
  27.       @auto_discovery_url_atom = opts.url_for(:format => 'atom')
  28.     end
  29.   end
  30.   def theme_layout
  31.     this_blog.current_theme.layout(self.action_name)
  32.   end
  33.   helper_method :contents
  34.   def contents
  35.     if @articles
  36.       @articles
  37.     elsif @article
  38.       [@article]
  39.     elsif @page
  40.       [@page]
  41.     else
  42.       []
  43.     end
  44.   end
  45. end