class BindingDumper::Dumpers::ProcDumper

Class responsible for converting procs and methods to marshalable hash

It uses a gem called ‘method_source’ which may inspect the source of proc/method

Public Instance Methods

can_convert?() click to toggle source

Returns true if ProcDumper can convert passed abstract_object

@return [true, false]

# File lib/binding_dumper/dumpers/proc_dumper.rb, line 13
def can_convert?
  _proc.is_a?(Proc) || _proc.is_a?(Method)
end
can_deconvert?() click to toggle source

Returns true if ProcDumper can deconvert pased abstract_object

@return [true, false]

# File lib/binding_dumper/dumpers/proc_dumper.rb, line 21
def can_deconvert?
  abstract_object.is_a?(Hash) && abstract_object.has_key?(:_source)
end
convert() click to toggle source

Converts passed abstract_object to marshalable hash

@return [Hash]

# File lib/binding_dumper/dumpers/proc_dumper.rb, line 29
def convert
  return unless should_convert?

  source = (_proc.to_proc.source rescue 'proc {}').strip
  { _source: source }
end
deconvert() click to toggle source

Deconverts passed abstract_object back to the original state

@return [Object]

# File lib/binding_dumper/dumpers/proc_dumper.rb, line 40
def deconvert
  eval(_proc[:_source]) rescue proc {}
end