Sha256: 09c32655510aaa794e8c05f6a49a78fba00d6430c0145b99af7f5dd6db6eeab4

Contents?: true

Size: 832 Bytes

Versions: 6

Compression:

Stored size: 832 Bytes

Contents

# encoding: UTF-8
class AssetsController < ActionController::Base
  caches_page :index
  
  def index
    if format_defined?
      render render_assets
    else
      render text: 'Undefined format', status: 500
    end
  end

  private

  def initialize
    # read assets/models to get formats
    @formats = {}
    Dir[File.dirname(__FILE__) << '/../models/asset_format/*.rb', Rails.root.to_s + '/app/assets/asset_format/*.rb'].each do |path|
      @formats[File.basename(path, '.rb')] = path
    end
  end

  def format_defined?
    @formats.has_key?(params[:format])
  end

  def render_assets
    require @formats[params[:format]]
    asset = AssetFormat.const_get(params[:format].capitalize).new("#{params[:file]}.#{params[:format]}")
    { text: asset.text, content_type: asset.content_type, status: asset.status }
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
zfben_rails_assets-0.0.16 app/controllers/assets_controller.rb
zfben_rails_assets-0.0.15 app/controllers/assets_controller.rb
zfben_rails_assets-0.0.14 app/controllers/assets_controller.rb
zfben_rails_assets-0.0.13 app/controllers/assets_controller.rb
zfben_rails_assets-0.0.12 app/controllers/assets_controller.rb
zfben_rails_assets-0.0.11 app/controllers/assets_controller.rb