Module: Fingerprintable::Mixin::ClassMethods
- Defined in:
- lib/fingerprintable/mixin.rb
Instance Method Summary collapse
- #fingerprint(*attrs, ignore: []) ⇒ Object
- #fingerprintable_attributes ⇒ Object
- #fingerprintable_config ⇒ Object
- #inherited(subclass) ⇒ Object
Instance Method Details
#fingerprint(*attrs, ignore: []) ⇒ Object
9 10 11 12 13 |
# 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 ⇒ Object
15 16 17 |
# File 'lib/fingerprintable/mixin.rb', line 15 def fingerprintable_attributes @fingerprintable_attributes ||= [] end |
#fingerprintable_config ⇒ Object
19 20 21 22 23 |
# File 'lib/fingerprintable/mixin.rb', line 19 def fingerprintable_config @fingerprintable_config ||= { ignore: [] } end |
#inherited(subclass) ⇒ Object
4 5 6 7 |
# File 'lib/fingerprintable/mixin.rb', line 4 def inherited(subclass) subclass.fingerprint(*fingerprintable_attributes) super(subclass) end |