class Array
Public Instance Methods
deep_dup()
click to toggle source
except(*keys)
click to toggle source
except!(*keys)
click to toggle source
Modifies the Array
excluding given values, if present
@param *values [*] list of values @return [Array] self
@example
a = [:a, :b, :c] a.except!(:a, :b, :d) a # => [:c]
# File lib/mimi/core/core_ext.rb, line 280 def except!(*keys) if keys.size == 1 && keys.first.is_a?(Array) raise ArgumentError, 'Array#except!() expects keys as list of arguments,' \ ' not an Array as first argument' end reject! { |k| keys.include?(k) } self end
only(*values)
click to toggle source
only!(*values)
click to toggle source
Modifies the Array
keeping only given values, if present
@param *values [*] list of values @return [Array] self
@example
a = [:a, :b, :c] a.only!(:a, :b, :d) a # => [:a, :b]
# File lib/mimi/core/core_ext.rb, line 245 def only!(*values) if values.size == 1 && values.first.is_a?(Array) raise ArgumentError, 'Array#only!() expects values as list of arguments,' \ ' not an Array as first argument' end select! { |k| values.include?(k) } self end