Class: ActiveRecord::Turntable::Algorithm::ModuloAlgorithm
- Defined in:
- lib/active_record/turntable/algorithm/modulo_algorithm.rb
Instance Method Summary collapse
- #calculate(key) ⇒ Object
-
#initialize(config) ⇒ ModuloAlgorithm
constructor
A new instance of ModuloAlgorithm.
Constructor Details
#initialize(config) ⇒ ModuloAlgorithm
Returns a new instance of ModuloAlgorithm.
4 5 6 |
# File 'lib/active_record/turntable/algorithm/modulo_algorithm.rb', line 4 def initialize(config) @config = config end |
Instance Method Details
#calculate(key) ⇒ Object
8 9 10 11 12 |
# File 'lib/active_record/turntable/algorithm/modulo_algorithm.rb', line 8 def calculate(key) @config["shards"][key % @config["shards"].size]["connection"] rescue raise ActiveRecord::Turntable::CannotSpecifyShardError, "cannot specify shard for key:#{key}" end |