Class: BindingDumper::Dumpers::ArrayDumper
- Defined in:
- lib/binding_dumper/dumpers/array_dumper.rb
Overview
Class responsible for converting arrays to marshalable Hash
Instance Attribute Summary
Attributes inherited from Abstract
Instance Method Summary collapse
-
#can_convert? ⇒ true, false
Returns true if ArrayDumper can convert
abstract_object. -
#can_deconvert? ⇒ true, false
Returns true if ArrayDumper can deconvert
abstract_object. -
#convert ⇒ Hash
Converts
abstract_objectto marshalable Hash. -
#deconvert {|result| ... } ⇒ Array
Deconverts passed
abstract_objectback to the original state.
Methods inherited from Abstract
Constructor Details
This class inherits a constructor from BindingDumper::Dumpers::Abstract
Instance Method Details
#can_convert? ⇒ true, false
Returns true if ArrayDumper can convert abstract_object
18 19 20 |
# File 'lib/binding_dumper/dumpers/array_dumper.rb', line 18 def can_convert? array.is_a?(Array) end |
#can_deconvert? ⇒ true, false
Returns true if ArrayDumper can deconvert abstract_object
26 27 28 |
# File 'lib/binding_dumper/dumpers/array_dumper.rb', line 26 def can_deconvert? array.is_a?(Array) end |
#convert ⇒ Hash
Converts abstract_object to marshalable Hash
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# 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| ... } ⇒ Array
Deconverts passed abstract_object back to the original state
55 56 57 58 59 60 61 62 |
# 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 |