Sha256: 520106cc34d08d676bccda695af7ea1cb0ab1eae92912dc50511f8c87f0c4eb4

Contents?: true

Size: 1.17 KB

Versions: 11

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true

# @api private
# @since 0.20.0
class Qonfig::Validation::Validators::Basic
  # @return [String, Symbol, NilClass]
  #
  # @api private
  # @since 0.20.0
  attr_reader :setting_key_matcher

  # @return [Boolean]
  #
  # @api private
  # @since 0.20.0
  attr_reader :strict

  # @param setting_key_matcher [Qonfig::Settings::KeyMatcher, NilClass]
  # @param strict [Boolean]
  # @return [void]
  #
  # @api private
  # @since 0.20.0
  def initialize(setting_key_matcher, strict)
    @setting_key_matcher = setting_key_matcher
    @strict = strict
  end

  # @param data_set [Qonfig::DataSet]
  # @return [Boolean]
  #
  # @api private
  # @since 0.20.0
  def validate(data_set)
    setting_key_provided? ? validate_concrete(data_set) : validate_full(data_set)
  end

  private

  # @return [Boolean]
  #
  # @api private
  # @since 0.20.0
  def setting_key_provided?
    !setting_key_matcher.nil?
  end

  # @param data_set [Qonfig::DataSet]
  # @return [Any]
  #
  # @api private
  # @since 0.20.0
  def validate_full(data_set); end

  # @param data_set [Qonfig::DataSet]
  # @return [Any]
  #
  # @api private
  # @since 0.20.0
  def validate_concrete(data_set); end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
qonfig-0.30.0 lib/qonfig/validation/validators/basic.rb
qonfig-0.28.0 lib/qonfig/validation/validators/basic.rb
qonfig-0.27.0 lib/qonfig/validation/validators/basic.rb
qonfig-0.26.0 lib/qonfig/validation/validators/basic.rb
qonfig-0.25.0 lib/qonfig/validation/validators/basic.rb
qonfig-0.24.1 lib/qonfig/validation/validators/basic.rb
qonfig-0.24.0 lib/qonfig/validation/validators/basic.rb
qonfig-0.23.0 lib/qonfig/validation/validators/basic.rb
qonfig-0.22.0 lib/qonfig/validation/validators/basic.rb
qonfig-0.21.0 lib/qonfig/validation/validators/basic.rb
qonfig-0.20.0 lib/qonfig/validation/validators/basic.rb