lib/active_object/array.rb in active_object-4.0.4 vs lib/active_object/array.rb in active_object-4.0.5
- old
+ new
@@ -1,15 +1,15 @@
module ActiveObject::Array
def after(value)
- return(nil) unless include?(value)
+ return unless include?(value)
self[(index(value).to_i + 1) % length]
end
def before(value)
- return(nil) unless include?(value)
+ return unless include?(value)
self[(index(value).to_i - 1) % length]
end
def delete_first
@@ -34,31 +34,27 @@
result
end
def dig(key, *rest)
value = (self[key] rescue nil)
- return if value.nil?
- if rest.empty?
- value
- elsif value.respond_to?(:dig)
- value.dig(*rest)
- end
+ return if value.nil?
+ return value if rest.empty?
+ return value.dig(*rest) if value.respond_to?(:dig)
end
def duplicates(minimum = 2)
hash = Hash.new(0)
-
each { |val| hash[val] += 1 }
hash.delete_if { |_, val| val < minimum }.keys
end
def from(position)
self[position, length] || []
end
def groups(number)
- return([]) if number <= 0
+ return [] if number <= 0
num, rem = length.divmod(number)
collection = (0..(num - 1)).collect { |val| self[(val * number), number] }
rem.positive? ? collection << self[-rem, rem] : collection
end