Module: LogStash::PluginMixins::ValidatorSupport

Defined in:
lib/logstash/plugin_mixins/validator_support.rb,
lib/logstash/plugin_mixins/validator_support/field_reference_validation_adapter.rb

Defined Under Namespace

Modules: ValidationResult Classes: NamedValidationAdapter, NamedValidationInterceptor

Constant Summary collapse

FieldReferenceValidationAdapter =
NamedValidationAdapter.new(:field_reference) do |value|
  break ValidationResult.failure("Expected exactly one field reference, got `#{value.inspect}`") unless value.kind_of?(Array) && value.size <= 1

  candidate = value.first

  break ValidationResult.success(nil) if value.empty? || candidate.nil? || candidate.empty?

  break ValidationResult.failure("Expected a valid field reference, got `#{candidate.inspect}`") unless field_reference_pattern =~ candidate

  break ValidationResult.success(candidate)
end

Class Method Summary collapse

Class Method Details

.native?(base, validator_name) ⇒ Boolean

Parameters:

  • base (#validate_value)
  • validator_name (Symbol)

Returns:

  • (Boolean)


15
16
17
18
19
# File 'lib/logstash/plugin_mixins/validator_support.rb', line 15

def self.native?(base, validator_name)
  native_is_valid, native_coerced_or_error = base.validate_value(nil, validator_name)

  native_is_valid || !native_coerced_or_error.start_with?('Unknown validator')
end