Module: Fingerprintable::Mixin

Defined in:
lib/fingerprintable/mixin.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



26
27
28
# File 'lib/fingerprintable/mixin.rb', line 26

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#fingerprint(*args) ⇒ Object



30
31
32
# File 'lib/fingerprintable/mixin.rb', line 30

def fingerprint(*args)
  fingerprinter.fingerprint(*args)
end

#fingerprinter(*attrs, cache: {}) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/fingerprintable/mixin.rb', line 34

def fingerprinter(*attrs, cache: {})
  Fingerprinter.new(
    attributes: self.class.fingerprintable_attributes | attrs,
    cache: cache,
    object: self,
    **self.class.fingerprintable_config
  )
end