Class: Declutter

Inherits:
Object
  • Object
show all
Defined in:
lib/declutter.rb

Overview

Declutter

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDeclutter

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_arraysObject

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_hashesObject

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_falsesObject

If falses should be deleted. False by default.



18
19
20
# File 'lib/declutter.rb', line 18

def delete_falses
  @delete_falses
end

#delete_nilsObject

If nils should be deleted. False by default.



15
16
17
# File 'lib/declutter.rb', line 15

def delete_nils
  @delete_nils
end

#delete_redundanciesObject

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_othersObject

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