Sha256: a2643f0e46f9cadd41f8247c5d9313974497f417c2ec4bd73077d1bbeb3bd6f4

Contents?: true

Size: 562 Bytes

Versions: 50

Compression:

Stored size: 562 Bytes

Contents

# frozen_string_literal: true

module Ree::Contracts
  module ArgContracts
    class Eq
      extend Ree::Contracts::ArgContracts::Squarable
      include Ree::Contracts::Truncatable

      attr_reader :contract
      
      def initialize(contract)
        @contract = contract
      end

      def valid?(value)
        value.equal?(contract)
      end

      def to_s
        "Eq[#{contract.inspect}]"
      end

      def message(value, name, lvl = 1)
        "expected #{truncate(self.to_s, 30)}, got #{truncate(value.inspect)}"
      end
    end
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
ree-1.1.1 lib/ree/contracts/arg_contracts/eq.rb
ree-1.1.0 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.47 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.46 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.45 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.44 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.43 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.42 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.41 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.40 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.39 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.38 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.37 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.36 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.35 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.34 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.33 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.32 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.31 lib/ree/contracts/arg_contracts/eq.rb
ree-1.0.30 lib/ree/contracts/arg_contracts/eq.rb