Class: MixedGauge::ClusterConfig::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/mixed_gauge/cluster_config.rb

Overview

Validator

Instance Method Summary collapse

Constructor Details

#initialize(slot_size, connection_registry) ⇒ Validator

Returns a new instance of Validator.

Parameters:

  • slot_size (Integer)
  • connection_registry (Hash{Range => Symbol})


49
50
51
52
# File 'lib/mixed_gauge/cluster_config.rb', line 49

def initialize(slot_size, connection_registry)
  @slot_size = slot_size
  @connection_registry = connection_registry
end

Instance Method Details

#validate!Object

Raises:

  • (RuntimeError)


55
56
57
58
59
60
61
62
# File 'lib/mixed_gauge/cluster_config.rb', line 55

def validate!
  all_start_points = @connection_registry.keys.map(&:min).sort
  all_end_points = @connection_registry.keys.map(&:max).sort

  check_first_start_point(all_start_points.min)
  check_coverage(all_start_points, all_end_points)
  check_last_end_point(all_end_points.max)
end