Sha256: ebf68e3f34448cd53efd437c2476c402237bcc4325e1ee6502a771dbe0cdb919

Contents?: true

Size: 513 Bytes

Versions: 20

Compression:

Stored size: 513 Bytes

Contents

# typed: strict
# frozen_string_literal: true

module DearInventory
  module Validators
    class Enum < DearInventory::Validator
      extend T::Sig

      sig { override.void }
      def call
        value = instance_variable_get(:@value)
        return if value.nil?
        return if T.must(@values).include?(value)

        raise_error(
          "expected one of " \
          "#{T.must(@values).map(&:inspect).join(", ")} " \
          "but received #{value.inspect}"
        )
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
dear_inventory-1.4.0 lib/dear_inventory/validators/enum.rb
dear_inventory-1.3.0 lib/dear_inventory/validators/enum.rb
dear_inventory-1.2.0 lib/dear_inventory/validators/enum.rb
dear_inventory-1.1.1 lib/dear_inventory/validators/enum.rb
dear_inventory-1.1.0 lib/dear_inventory/validators/enum.rb
dear_inventory-1.0.0 lib/dear_inventory/validators/enum.rb
dear_inventory-0.7.5 lib/dear_inventory/validators/enum.rb
dear_inventory-0.7.4 lib/dear_inventory/validators/enum.rb
dear_inventory-0.7.3 lib/dear_inventory/validators/enum.rb
dear_inventory-0.7.2 lib/dear_inventory/validators/enum.rb
dear_inventory-0.7.1 lib/dear_inventory/validators/enum.rb
dear_inventory-0.7.0 lib/dear_inventory/validators/enum.rb
dear_inventory-0.6.3 lib/dear_inventory/validators/enum.rb
dear_inventory-0.6.2 lib/dear_inventory/validators/enum.rb
dear_inventory-0.6.1 lib/dear_inventory/validators/enum.rb
dear_inventory-0.6.0 lib/dear_inventory/validators/enum.rb
dear_inventory-0.5.0 lib/dear_inventory/validators/enum.rb
dear_inventory-0.4.1 lib/dear_inventory/validators/enum.rb
dear_inventory-0.4.0 lib/dear_inventory/validators/enum.rb
dear_inventory-0.3.0 lib/dear_inventory/validators/enum.rb