Module: ExceptionManager::Config

Included in:
ExceptionManager
Defined in:
lib/exception_manager/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#loggerObject



46
47
48
# File 'lib/exception_manager/config.rb', line 46

def logger
  @logger = Logger.new(STDOUT)
end

Instance Method Details

#add_filter(&block) ⇒ Object



32
33
34
# File 'lib/exception_manager/config.rb', line 32

def add_filter(&block)
  filters << block
end

#applicable?(exception) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
43
44
# File 'lib/exception_manager/config.rb', line 40

def applicable?(exception)
  filters.all? do |filter|
    filter.call(exception)
  end
end

#disable!Object



8
9
10
# File 'lib/exception_manager/config.rb', line 8

def disable!
  tracepoint.disable
end

#disabled?Boolean

Returns:

  • (Boolean)


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

def disabled?
  !enabled?
end

#enable!Object



4
5
6
# File 'lib/exception_manager/config.rb', line 4

def enable!
  tracepoint.enable
end

#enabled?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/exception_manager/config.rb', line 12

def enabled?
  tracepoint.enabled?
end

#filtersObject



28
29
30
# File 'lib/exception_manager/config.rb', line 28

def filters
  @filters ||= []
end

#required!Object



51
52
53
# File 'lib/exception_manager/config.rb', line 51

def required!
  raise ExceptionManager::DisabledError if disabled?
end

#reset_filters!Object



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

def reset_filters!
  @filters = []
end

#tracepointObject



20
21
22
23
24
25
26
# File 'lib/exception_manager/config.rb', line 20

def tracepoint
  @tracepoint ||= TracePoint.new(:raise) do |tp|
    if ExceptionManager.applicable?(tp.raised_exception)
      tp.raised_exception._binding = tp.binding
    end
  end
end