class BindingDumper::Dumpers::ArrayDumper
Class responsible for converting arrays to marshalable Hash
@example
array = [1,2,3] dump = BindingDumper::Dumpers::Array.new(array).convert # => { marshalable: :hash } BindingDumper::Dumpers::Array.new(dump).deconvert # => [1,2,3]
Public Instance Methods
can_convert?()
click to toggle source
Returns true if ArrayDumper
can convert abstract_object
@return [true, false]
# File lib/binding_dumper/dumpers/array_dumper.rb, line 18 def can_convert? array.is_a?(Array) end
can_deconvert?()
click to toggle source
Returns true if ArrayDumper
can deconvert abstract_object
@return [true, false]
# File lib/binding_dumper/dumpers/array_dumper.rb, line 26 def can_deconvert? array.is_a?(Array) end
convert()
click to toggle source
Converts abstract_object
to marshalable Hash
@return [Hash]
# File lib/binding_dumper/dumpers/array_dumper.rb, line 34 def convert unless should_convert? return { _existing_object_id: array.object_id } end dumped_ids << array.object_id result = array.map do |item| UniversalDumper.convert(item, dumped_ids) end { _old_object_id: array.object_id, _object_data: result } end
deconvert() { |result| ... }
click to toggle source
Deconverts passed abstract_object
back to the original state
@return [Array]
# File lib/binding_dumper/dumpers/array_dumper.rb, line 55 def deconvert result = [] yield result array.each do |converted_item| result << UniversalDumper.deconvert(converted_item) end result end