de_duplicator 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/de_duplicator.rb +31 -0
  2. metadata +46 -0
@@ -0,0 +1,31 @@
1
+ class DeDuplicator
2
+
3
+ attr_accessor :base_list, :new_additions
4
+
5
+ def initialize( base_list=[] )
6
+ @base_list = base_list.flatten.uniq
7
+ @new_additions = []
8
+ end
9
+
10
+ def update_base_list(list)
11
+ flat_list = list.flatten
12
+ @new_additions = flat_list - (@base_list & flat_list)
13
+ @base_list = (@base_list + @new_additions).flatten.uniq
14
+ end
15
+
16
+ def unique_list
17
+ base_list
18
+ end
19
+
20
+ def get_duplicates(list)
21
+ flat_list = list.flatten
22
+ duplicates = (@base_list & flat_list)
23
+ update_base_list(flat_list)
24
+ duplicates
25
+ end
26
+
27
+ def remove_recent_additions!
28
+ @base_list -= @new_additions
29
+ end
30
+
31
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: de_duplicator
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Murtuza Kutub
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-10-24 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: A gem to remove duplicates
15
+ email: murtuzafirst@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/de_duplicator.rb
21
+ homepage: http://rubygems.org/gems/de_duplicator
22
+ licenses:
23
+ - MIT
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 1.8.24
43
+ signing_key:
44
+ specification_version: 3
45
+ summary: DeDuplicate stuff!
46
+ test_files: []