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