Class: Cranium::Transformation::DuplicationIndex
- Inherits:
-
Object
- Object
- Cranium::Transformation::DuplicationIndex
- Defined in:
- lib/cranium/transformation/duplication_index.rb
Class Method Summary collapse
Instance Method Summary collapse
- #duplicate?(record) ⇒ Boolean
-
#initialize(*fields) ⇒ DuplicationIndex
constructor
A new instance of DuplicationIndex.
Constructor Details
#initialize(*fields) ⇒ DuplicationIndex
Returns a new instance of DuplicationIndex.
13 14 15 16 |
# File 'lib/cranium/transformation/duplication_index.rb', line 13 def initialize(*fields) @fields = fields @fingerprints = Set.new end |
Class Method Details
.[](*fields) ⇒ Object
5 6 7 8 9 |
# File 'lib/cranium/transformation/duplication_index.rb', line 5 def self.[](*fields) raise ArgumentError, "Cannot build duplication index for empty fieldset" if fields.empty? @instances ||= {} @instances[fields] ||= new(*fields) end |
Instance Method Details
#duplicate?(record) ⇒ Boolean
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/cranium/transformation/duplication_index.rb', line 20 def duplicate?(record) fingerprint = take_fingerprint(record) if @fingerprints.include? fingerprint true else @fingerprints.add fingerprint false end end |