Class: Aequitas::Equalizable::Equalizer

Inherits:
Module
  • Object
show all
Defined in:
lib/aequitas/support/equalizable.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(keys) ⇒ Equalizer

Returns a new instance of Equalizer.



36
37
38
# File 'lib/aequitas/support/equalizable.rb', line 36

def initialize(keys)
  @keys = keys
end

Instance Attribute Details

#keysArray(Symbol) (readonly)

List of methods that will be used to compile #inspect,

#eql?, #== and #hash methods

Returns:

  • (Array(Symbol))


34
35
36
# File 'lib/aequitas/support/equalizable.rb', line 34

def keys
  @keys
end

Instance Method Details

#compileself

Compile the equalizer methods based on #keys

Returns:

  • (self)


43
44
45
46
47
48
49
50
# File 'lib/aequitas/support/equalizable.rb', line 43

def compile
  define_inspect_method
  define_eql_method
  define_equivalent_method
  define_hash_method

  self
end