Module: Daredevil

Defined in:
lib/daredevil.rb,
lib/daredevil/engine.rb,
lib/daredevil/errors.rb,
lib/daredevil/version.rb,
lib/daredevil/responder.rb,
lib/daredevil/configuration.rb,
lib/daredevil/responder/actions.rb,
lib/daredevil/responder/responses.rb,
lib/daredevil/responder/sanitizers.rb

Defined Under Namespace

Modules: Errors Classes: Configuration, Engine, Responder

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.configObject

Global settings for Daredevil



9
10
11
# File 'lib/daredevil/configuration.rb', line 9

def self.config
  @config
end

.configure {|@config ||= Daredevil::Configuration.new| ... } ⇒ Object

Yields:



4
5
6
# File 'lib/daredevil/configuration.rb', line 4

def self.configure(&block)
  yield @config ||= Daredevil::Configuration.new
end

.included(base) ⇒ Object



7
8
9
10
11
# File 'lib/daredevil.rb', line 7

def self.included(base)
  base.rescue_from ActiveRecord::RecordNotFound, with: :record_not_found!
  base.rescue_from ActionController::ParameterMissing, with: :parameter_missing!
  redefine_authorization(base)
end

.redefine_authorization(base) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/daredevil.rb', line 13

def self.redefine_authorization(base)
  return unless base.instance_methods.include?(:authenticate_user_from_token!)

  base.class_eval do
    alias_method(:_authenticate_from_token!, :authenticate_user_from_token!)

    define_method :authenticate_user_from_token! do
      result = catch(:warden) { _authenticate_from_token! }

      return unless result
      respond_with_error(:unauthorized)
    end
  end
end