Sha256: 2593927c90aab19def516c8f36f9fc765c7610887e52f778017b639136f60bd4
Contents?: true
Size: 1.42 KB
Versions: 1
Compression:
Stored size: 1.42 KB
Contents
module Sns module SiteControllerExt def self.included(base) base.class_eval do skip_before_filter :authenticate before_filter :parse_url_for_text_assets, :only => :show_page end end private def parse_url_for_text_assets url = params[:url] if url.kind_of?(Array) url = url.join('/') else url = url.to_s end if url =~ %r{^\/?(#{Sns::Config[:stylesheet_directory]})\/(.*)$} text_asset = Stylesheet.find_by_name($2) if text_asset set_text_asset_cache_control process_text_asset(text_asset, 'stylesheet') @performed_render = true end elsif url =~ %r{^\/?(#{Sns::Config[:javascript_directory]})\/(.*)$} text_asset = Javascript.find_by_name($2) if text_asset set_text_asset_cache_control process_text_asset(text_asset, 'javascript') @performed_render = true end end end def set_text_asset_cache_control expires_in Sns::Config['cache_timeout'], :public => true, :private => false end def process_text_asset(text_asset, asset_type) response.body = text_asset.render response.status = ActionController::Base::DEFAULT_RENDER_STATUS_CODE response.headers['Content-Type'] = Sns::Config["#{asset_type}_mime_type"] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
radiant-sns-extension-0.9.0 | lib/sns/site_controller_ext.rb |