class DeDuplicator
Attributes
base_list[RW]
new_additions[RW]
Public Class Methods
new( base_list=[] )
click to toggle source
# File lib/de_duplicator.rb, line 5 def initialize( base_list=[] ) @base_list = base_list.flatten.uniq @new_additions = [] end
Public Instance Methods
get_duplicates(list)
click to toggle source
# File lib/de_duplicator.rb, line 20 def get_duplicates(list) flat_list = list.flatten duplicates = (@base_list & flat_list) update_base_list(flat_list) duplicates end
remove_recent_additions!()
click to toggle source
# File lib/de_duplicator.rb, line 27 def remove_recent_additions! @base_list -= @new_additions end
unique_list()
click to toggle source
# File lib/de_duplicator.rb, line 16 def unique_list base_list end
update_base_list(list)
click to toggle source
# File lib/de_duplicator.rb, line 10 def update_base_list(list) flat_list = list.flatten @new_additions = flat_list - (@base_list & flat_list) @base_list = (@base_list + @new_additions).flatten.uniq end