Class: Array

Inherits:
Object
  • Object
show all
Defined in:
lib/plumbus/helpers/trim.rb,
lib/plumbus/helpers/remove_references.rb

Instance Method Summary collapse

Instance Method Details

#remove_references!(obj) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/plumbus/helpers/remove_references.rb', line 17

def remove_references! obj
  self.select{|e| [Array, Hash].include? e.class}.each do |e|
    e.remove_references! obj
  end

  self.select{|e| not [Array, Hash].include? e.class}.each_with_index do |e, i|
    if e == obj
      self.delete(obj)
    end
  end

  self
end

#trim!Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/plumbus/helpers/trim.rb', line 27

def trim!
  self.each do |e|
    if e.class == Hash
      e.trim!

      if e.keys.count == 0
        self.delete e
      end
    elsif e.class == Array
      e.trim!
      if e.count == 0
        self.delete(e)
      end
    end
  end

  return self
end