Sha256: a021be04afdca3a04772e5e1d498f07b1aef1b7f2dd9a6eaea28539be93c127d

Contents?: true

Size: 384 Bytes

Versions: 5

Compression:

Stored size: 384 Bytes

Contents

require "contracts"

# Aruba
module Aruba
  # Contracts
  module Contracts
    # Enum
    class Enum < ::Contracts::CallableClass
      private

      attr_reader :vals

      public

      # Create contract
      def initialize(*vals)
        @vals = vals
      end

      # Check if value is part of array
      def valid?(val)
        vals.include? val
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
phillipug-foodie-0.1.0 .vendor/ruby/3.0.0/gems/aruba-2.0.0/lib/aruba/contracts/enum.rb
aruba-2.0.0 lib/aruba/contracts/enum.rb
aruba-1.1.2 lib/aruba/contracts/enum.rb
aruba-1.1.1 lib/aruba/contracts/enum.rb
aruba-1.1.0 lib/aruba/contracts/enum.rb