Module: MoreCoreExtensions::ArrayDeletes

Defined in:
lib/more_core_extensions/core_ext/array/deletes.rb

Instance Method Summary collapse

Instance Method Details

#deep_delete(key) ⇒ Object

Deletes all keys and subkeys that match key.

[{:a => {:b => 2, :c => 3}}].deep_delete(:b) # => [{:a => {:c => 3}}]


25
26
27
28
# File 'lib/more_core_extensions/core_ext/array/deletes.rb', line 25

def deep_delete(key)
  each { |i| i.deep_delete(key) if i.respond_to?(:deep_delete) }
  self
end

#delete_blanksObject

Deletes all items where the value is blank

[1, [], nil].delete_blanks # => [1]


17
18
19
# File 'lib/more_core_extensions/core_ext/array/deletes.rb', line 17

def delete_blanks
  delete_if(&:blank?)
end

#delete_nilsObject

Deletes all items where the value is nil

[1, [], nil].delete_nils # => [1, []]


10
11
12
# File 'lib/more_core_extensions/core_ext/array/deletes.rb', line 10

def delete_nils
  delete_if(&:nil?)
end