module Fingerprintable::Mixin::ClassMethods

Public Instance Methods

fingerprint(*attrs, ignore: []) click to toggle source
# File lib/fingerprintable/mixin.rb, line 9
def fingerprint(*attrs, ignore: [])
  @fingerprintable_attributes = fingerprintable_attributes | attrs
  ignore = [ignore] if ignore.is_a?(String) || ignore.is_a?(Symbol)
  fingerprintable_config[:ignore] |= ignore
end
fingerprintable_attributes() click to toggle source
# File lib/fingerprintable/mixin.rb, line 15
def fingerprintable_attributes
  @fingerprintable_attributes ||= []
end
fingerprintable_config() click to toggle source
# File lib/fingerprintable/mixin.rb, line 19
def fingerprintable_config
  @fingerprintable_config ||= {
    ignore: []
  }
end
inherited(subclass) click to toggle source
Calls superclass method
# File lib/fingerprintable/mixin.rb, line 4
def inherited(subclass)
  subclass.fingerprint(*fingerprintable_attributes)
  super(subclass)
end