Module: Fixme

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

Defined Under Namespace

Modules: Mixin Classes: Details, Runner

Constant Summary collapse

UnfixedError =

We intentionally do NOT inherit from StandardError, because we don’t want these errors caught by a blanket “rescue”.

Class.new(Exception)
DEFAULT_EXPLODER =
->(details) { raise(UnfixedError, details.full_message, details.backtrace) }
VERSION =
"6.1.0"

Class Method Summary collapse

Class Method Details

.explode(date, message) ⇒ Object



20
21
22
23
24
# File 'lib/fixme.rb', line 20

def self.explode(date, message)
  full_message = "Fix by #{date}: #{message}"
  backtrace = caller.reverse.take_while { |line| !line.include?(__FILE__) }.reverse
  @explode_with.call Details.new(full_message, backtrace, date, message)
end

.explode_with(&block) ⇒ Object



16
17
18
# File 'lib/fixme.rb', line 16

def self.explode_with(&block)
  @explode_with = block
end

.raise_from(details) ⇒ Object



26
27
28
# File 'lib/fixme.rb', line 26

def self.raise_from(details)
  DEFAULT_EXPLODER.call(details)
end

.reset_configurationObject



30
31
32
# File 'lib/fixme.rb', line 30

def self.reset_configuration
  explode_with(&DEFAULT_EXPLODER)
end