Class: Divisio::ModuloAlgorithm
- Inherits:
-
Object
- Object
- Divisio::ModuloAlgorithm
- Defined in:
- lib/divisio/modulo_algorithm.rb
Instance Method Summary collapse
- #calc ⇒ Object
-
#initialize(key, variants) ⇒ ModuloAlgorithm
constructor
A new instance of ModuloAlgorithm.
Constructor Details
#initialize(key, variants) ⇒ ModuloAlgorithm
Returns a new instance of ModuloAlgorithm.
6 7 8 9 |
# File 'lib/divisio/modulo_algorithm.rb', line 6 def initialize(key, variants) @key = key.to_s @variants = variants_as_array(variants) end |
Instance Method Details
#calc ⇒ Object
11 12 13 14 15 16 |
# File 'lib/divisio/modulo_algorithm.rb', line 11 def calc number_of_variants = variants.size position = Digest::MD5.hexdigest(key).to_i(16) % number_of_variants variants[position] end |