class Qonfig::Validation::Building::PredefinedBuilder

@api private @since 0.20.0

Attributes

name[R]

@return [String]

@api private @since 0.20.0

predefined_registry[R]

@return [Qonfig::Validation::Collections::PredefinedRegistry]

@api private @since 0.20.0

validation_logic[R]

@return [Proc]

@api private @since 0.20.0

Public Class Methods

build(name, validation_logic, predefined_registry) click to toggle source

@param name [String, Symbol] @param validation_logic [Proc] @param predefined_registry [Qonfig::Validation::Collections::PredefinedRegistry] @return [void]

@api private @since 0.20.0

# File lib/qonfig/validation/building/predefined_builder.rb, line 14
def build(name, validation_logic, predefined_registry)
  new(name, validation_logic, predefined_registry).build
end
new(name, validation_logic, predefined_registry) click to toggle source

@param name [String, Symbol] @param validation_logic [Proc] @param predefined_registry [Qonfig::Validation::Collections::PredefinedRegistry] @return [void]

@api private @since 0.20.0

# File lib/qonfig/validation/building/predefined_builder.rb, line 26
def initialize(name, validation_logic, predefined_registry)
  @name = name
  @validation_logic = validation_logic
  @predefined_registry = predefined_registry
end

Public Instance Methods

build() click to toggle source

@return [void]

@api private @since 0.20.0

# File lib/qonfig/validation/building/predefined_builder.rb, line 36
def build
  validate_attributes!
  predefine_validator
end

Private Instance Methods

predefine_validator() click to toggle source

@return [void]

@api private @since 0.20.0

# File lib/qonfig/validation/building/predefined_builder.rb, line 65
def predefine_validator
  predefined_registry[name] = validation_logic
end
validate_attributes!() click to toggle source

@return [void]

@raise [Qonfig::ValidatorArgumentError]

@api private @since 0.20.0

# File lib/qonfig/validation/building/predefined_builder.rb, line 49
def validate_attributes!
  raise(
    Qonfig::ValidatorArgumentError,
    'Validator name should be a type of string or symbol'
  ) unless name.is_a?(String) || name.is_a?(Symbol)

  raise(
    Qonfig::ValidatorArgumentError,
    'Empty validation logic (block is not given)'
  ) if validation_logic.nil? || !validation_logic.is_a?(Proc)
end