module RuboCop::Cop::Duplication
def consecutive_duplicates(collection)
-
(Array)
- the consecutive duplicates
Parameters:
-
collection
(Array
) -- an array to return consecutive duplicates for
def consecutive_duplicates(collection) grouped_duplicates(collection).flat_map { |items| items[1..] } end
def duplicates(collection)
-
(Array)
- all the duplicates
Parameters:
-
collection
(Array
) -- an array to return duplicates for
def duplicates(collection) grouped_duplicates(collection).flatten end
def duplicates?(collection)
-
(Boolean)
- whether the array contains any duplicates
Parameters:
-
collection
(Array
) -- an array to check for duplicates
def duplicates?(collection) collection.size > 1 && collection.size > collection.uniq.size end
def grouped_duplicates(collection)
-
(Array)
- the grouped duplicates
Parameters:
-
collection
(Array
) -- an array to group duplicates for
def grouped_duplicates(collection) collection.group_by { |item| item }.values.reject(&:one?) end