Module: FailbotRails

Defined in:
lib/failbot_rails.rb,
lib/failbot_rails/version.rb

Defined Under Namespace

Modules: ActionControllerUtilities Classes: Engine, Middleware

Constant Summary collapse

VERSION =
"0.4.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

._setupObject (readonly)

Returns the value of attribute _setup.



36
37
38
# File 'lib/failbot_rails.rb', line 36

def _setup
  @_setup
end

Class Method Details

._failbot_safe_context(context) ⇒ Object



74
75
76
77
78
79
80
81
82
83
84
# File 'lib/failbot_rails.rb', line 74

def self._failbot_safe_context(context)
  new_context = {}.merge(context)
  filters = Rails.application.config.filter_parameters
  filter = ActionDispatch::Http::ParameterFilter.new(filters)

  if new_context.key?(:params)
    new_context[:params] = filter.filter(new_context[:params])
  end

  new_context
end

.setup(app_name, default_context = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/failbot_rails.rb', line 9

def self.setup(app_name, default_context={})
  if _setup
    fail "FailbotRails already setup"
  end

  if !app_name.respond_to?(:to_str) || app_name.to_str.empty?
    raise ArgumentError, "app_name argument is required"
  end

  settings = ENV.to_hash

  # sensible defaults
  if Rails.env.development? || Rails.env.test?
    settings["FAILBOT_BACKEND"] ||= "memory"

    if !settings.key?("FAILBOT_RAISE")
      settings["FAILBOT_RAISE"] = "1"
    end
  end

  Failbot.setup(settings, default_context.merge({:app => app_name.to_str}))
  Failbot.install_unhandled_exception_hook!

  @_setup = true
end