Sha256: 5e911e880ec81442f9b5e304c480b67d377c677975e694893e3a7806de114095

Contents?: true

Size: 1.25 KB

Versions: 3

Compression:

Stored size: 1.25 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

    def iframe_template=(template)
      @iframe_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

3 entries across 3 versions & 1 rubygems

Version Path
rails-sandbox-assets-0.1.3 app/controllers/sandbox_assets/base_controller.rb
rails-sandbox-assets-0.1.2 app/controllers/sandbox_assets/base_controller.rb
rails-sandbox-assets-0.1.1 app/controllers/sandbox_assets/base_controller.rb