Sha256: a5dc925ee5cbefecb6e1a779ed09efd87104ec66e98160dbd4e2b6516a988ca1

Contents?: true

Size: 1.17 KB

Versions: 1

Compression:

Stored size: 1.17 KB

Contents

require_dependency "sandbox_assets/test_asset"

module SandboxAssets
  class BaseController < ActionController::Base
    before_filter :find_tests
    before_filter :find_stylesheets
    before_filter :extract_template_from_params
    before_filter :render_template

    # additional before_filters can use this
    def template=(template)
      @template = template
    end

    protected

    def find_tests
      @tests = TestAsset.find_tests(params)
    end

    def find_stylesheets
      @stylesheets = TestAsset.find_stylesheets(params)
    end

    def extract_template_from_params
      @template ||= params[:template] unless cfg.disable_template_param
      @iframe_template ||= params[:iframe_template] unless cfg.disable_template_param
    end

    def render_template
      (render_iframe_template; return) if params[:action] == 'iframe'
      render @template if template
    end

    def render_iframe_template
      render @iframe_template if iframe_template
    end

    def template
      @template ||= cfg.template
    end

    def iframe_template
      @iframe_template ||= cfg.iframe_template
    end

    def cfg
      @cfg ||= Engine.config.sandbox_assets
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails-sandbox-assets-0.1.0 app/controllers/sandbox_assets/base_controller.rb