Sha256: b932bda836ed3ed50764de703abaf8c5ee7e04fb03e0532d6c5ef6988aff06f9

Contents?: true

Size: 600 Bytes

Versions: 124

Compression:

Stored size: 600 Bytes

Contents

# frozen_string_literal: true

class ReeValidator::ValidateExclusion
  include Ree::FnDSL

  fn :validate_exclusion do
    link :t, from: :ree_i18n
  end

  ExclusionErr = Class.new(StandardError)

  contract(
    Any,
    Or[ArrayOf[Any], SetOf[Any], RangeOf[Any]],
    Nilor[StandardError] => Bool
  )
  def call(value, list_or_set, error = nil)
    if list_or_set.include?(value)
      error ||= ExclusionErr.new(
        t(
          'validator.exclusion.error',
          {list: list_or_set.to_a},
          default_by_locale: :en
        )
      )

      raise error
    end

    true
  end
end

Version data entries

124 entries across 124 versions & 1 rubygems

Version Path
ree_lib-1.0.64 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.63 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.62 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.61 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.60 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.59 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.58 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.57 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.56 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.55 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.54 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.53 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.52 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.51 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.50 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.49 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.48 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.47 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.46 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb
ree_lib-1.0.45 lib/ree_lib/packages/ree_validator/package/ree_validator/functions/validate_exclusion.rb