Sha256: b4bf86b496b2b421809da6616c44167012766f5f33a5ad20cf7ac889c2ccc392

Contents?: true

Size: 1.82 KB

Versions: 2

Compression:

Stored size: 1.82 KB

Contents

require 'rocket_pants/errors'

module RocketShorts
  class Base < ActionController::Metal

    abstract!

    MODULES = [
      ActionController::HideActions,
      ActionController::UrlFor,
      ActionController::Redirecting,
      ActionController::ConditionalGet,
      ActionController::RackDelegation,
      ActionController::RecordIdentifier,
      ActionController::HttpAuthentication::Basic::ControllerMethods,
      ActionController::HttpAuthentication::Digest::ControllerMethods,
      ActionController::HttpAuthentication::Token::ControllerMethods,
      RocketPants::UrlFor,
      RocketPants::Respondable,
      RocketPants::HeaderMetadata,
      RocketPants::Linking,
      RocketShorts::Versioning,
      RocketPants::Instrumentation,
      RocketPants::Caching,
      # Include earliest as possible in the request.
      AbstractController::Callbacks,
      ActionController::Rescue,
      RocketPants::ErrorHandling,
      RocketPants::Rescuable,
      RocketPants::JSONP
      # FormatVerification # TODO: Implement Format Verification
    ].compact

    # If possible, include the Rails controller methods in Airbrake to make it useful.
    begin
      require 'airbrake'
      require 'airbrake/rails/controller_methods'
      MODULES << Airbrake::Rails::ControllerMethods
    rescue LoadError => e
    end

    MODULES.each do |mixin|
      include mixin
    end

    # Bug fix for rails - include compatibility.
    config_accessor :protected_instance_variables
    self.protected_instance_variables = %w(@assigns @performed_redirect @performed_render
      @variables_added @request_origin @url @parent_controller @action_name
      @before_filter_chain_aborted @_headers @_params @_response)

    ActiveSupport.run_load_hooks(:rocket_pants, self)

    # Methods for integration purposes.
    def self.helper_method(*); end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rocket_shorts-0.0.2 lib/rocket_shorts/base.rb
rocket_shorts-0.0.1 lib/rocket_shorts/base.rb