Sha256: 6c92c61b9c3510e41c864a53c8bf52acc235f90f811c7ef7e6c01327210379d3

Contents?: true

Size: 774 Bytes

Versions: 20

Compression:

Stored size: 774 Bytes

Contents

# frozen_string_literal: true

class Serega
  module SeregaValidations
    module Utils
      #
      # Utility to check hash key value is boolean
      #
      class CheckOptIsBool
        # Checks hash key has boolean value
        #
        # @param opts [Hash] Some options Hash
        # @param key [Object] Hash key
        #
        # @raise [Serega::SeregaError] error when provided key exists and value is not boolean
        #
        # @return [void]
        def self.call(opts, key)
          return unless opts.key?(key)

          value = opts[key]
          return if value.equal?(true) || value.equal?(false)

          raise SeregaError, "Invalid option #{key.inspect} => #{value.inspect}. Must have a boolean value"
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
serega-0.21.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.20.1 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.20.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.19.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.18.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.17.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.16.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.15.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.14.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.12.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.11.2 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.11.1 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.11.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.10.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.9.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.8.3 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.8.2 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.8.1 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.8.0 lib/serega/validations/utils/check_opt_is_bool.rb
serega-0.7.0 lib/serega/validations/utils/check_opt_is_bool.rb