Module: LogStash::Inputs::Elasticsearch::PositiveWholeNumberValidator

Included in:
LogStash::Inputs::Elasticsearch
Defined in:
lib/logstash/inputs/elasticsearch.rb

Instance Method Summary collapse

Instance Method Details

#validate_value(value, validator) ⇒ Array(true,Object), Array(false,String)

Parameters:

  • value (Array<Object>)
  • validator (nil, Array, Symbol)

Returns:

  • (Array(true,Object))

    : if validation is a success, a tuple containing ‘true` and the coerced value

  • (Array(false,String))

    : if validation is a failure, a tuple containing ‘false` and the failure reason.



694
695
696
697
698
699
700
701
702
# File 'lib/logstash/inputs/elasticsearch.rb', line 694

def validate_value(value, validator)
  return super unless validator == :positive_whole_number

  is_number, coerced_number = super(value, :number)

  return [true, coerced_number.to_i] if is_number && coerced_number.denominator == 1 && coerced_number > 0

  return [false, "Expected positive whole number, got `#{value.inspect}`"]
end