Class: Declutter
- Inherits:
-
Object
- Object
- Declutter
- Defined in:
- lib/declutter.rb
Overview
Declutter
Instance Attribute Summary collapse
-
#delete_empty_arrays ⇒ Object
If empty arrays should be deleted.
-
#delete_empty_hashes ⇒ Object
If empty hashes should be deleted.
-
#delete_falses ⇒ Object
If falses should be deleted.
-
#delete_nils ⇒ Object
If nils should be deleted.
-
#delete_redundancies ⇒ Object
If redundant array elements should be deleted.
-
#process_others ⇒ Object
If objects that respond to #declutter should be processed.
Class Method Summary collapse
-
.process(obj) ⇒ Object
Shortcut for decluttering with default settings.
Instance Method Summary collapse
-
#initialize ⇒ Declutter
constructor
Creates a new Declutter object.
-
#process(obj) ⇒ Object
Declutter a hash or array.
Constructor Details
#initialize ⇒ Declutter
Creates a new Declutter object. Takes no params.
30 31 32 33 34 35 36 37 |
# File 'lib/declutter.rb', line 30 def initialize @delete_empty_hashes = true @delete_empty_arrays = true @delete_redundancies = false @delete_nils = false @delete_falses = false @process_others = true end |
Instance Attribute Details
#delete_empty_arrays ⇒ Object
If empty arrays should be deleted. True by default.
9 10 11 |
# File 'lib/declutter.rb', line 9 def delete_empty_arrays @delete_empty_arrays end |
#delete_empty_hashes ⇒ Object
If empty hashes should be deleted. True by default.
6 7 8 |
# File 'lib/declutter.rb', line 6 def delete_empty_hashes @delete_empty_hashes end |
#delete_falses ⇒ Object
If falses should be deleted. False by default.
18 19 20 |
# File 'lib/declutter.rb', line 18 def delete_falses @delete_falses end |
#delete_nils ⇒ Object
If nils should be deleted. False by default.
15 16 17 |
# File 'lib/declutter.rb', line 15 def delete_nils @delete_nils end |
#delete_redundancies ⇒ Object
If redundant array elements should be deleted. False by default.
12 13 14 |
# File 'lib/declutter.rb', line 12 def delete_redundancies @delete_redundancies end |
#process_others ⇒ Object
If objects that respond to #declutter should be processed. Defaults to true.
22 23 24 |
# File 'lib/declutter.rb', line 22 def process_others @process_others end |
Class Method Details
.process(obj) ⇒ Object
Shortcut for decluttering with default settings.
70 71 72 |
# File 'lib/declutter.rb', line 70 def self.process(obj) self.new.process obj end |
Instance Method Details
#process(obj) ⇒ Object
Declutter a hash or array.
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/declutter.rb', line 49 def process(obj) # declutter hash if obj.is_a?(Hash) process_hash obj # declutter array elsif obj.is_a?(Array) process_array obj end end |