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 =
Class.new(StandardError)
DEFAULT_EXPLODER =
->(details) { raise(UnfixedError, details.full_message, details.backtrace) }
VERSION =
"3.1.0"

Class Method Summary collapse

Class Method Details

.explode(date, message) ⇒ Object



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

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



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

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

.raise_from(details) ⇒ Object



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

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

.reset_configurationObject



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

def self.reset_configuration
  explode_with(&DEFAULT_EXPLODER)
end