class Aboutarray

Public Class Methods

all_duplicate(arr) click to toggle source
# File lib/aboutarray.rb, line 2
def self.all_duplicate(arr)
        raise 'Type Error' unless arr.instance_of? Array

        @arr = arr
        @arr.sort!
        report = []
        duplicate_item_list = arr.uniq # [1,1,2] [1,2]
        duplicate_item_list.each do |candidate|
                duplicate_item_count = find_all_duplicate(candidate)
                next unless duplicate_item_count > 1

                report << [candidate, duplicate_item_count]
        end

        return reporting(report)

end

Private Class Methods

find_all_duplicate(candidate) click to toggle source
# File lib/aboutarray.rb, line 22
def self.find_all_duplicate(candidate)
        match_items = 0
        @arr.each do |item|
                match_items += 1 unless item != candidate
        end

        return match_items
end
reporting(duplicate_item_list) click to toggle source
# File lib/aboutarray.rb, line 31
def self.reporting(duplicate_item_list)
        duplicate_item_list.to_h
end