Sha256: 8ecb33bd3f044d5c1fc378879f8c00d7471bb787fc9c61c4dcc8cc47634b3ee1

Contents?: true

Size: 515 Bytes

Versions: 22

Compression:

Stored size: 515 Bytes

Contents

module RR
  module WildcardMatchers
    class Satisfy
      attr_reader :expectation_proc

      def initialize(expectation_proc)
        @expectation_proc = expectation_proc
      end

      def wildcard_match?(other)
        self == other ||
        !!expectation_proc.call(other)
      end

      def ==(other)
        other.is_a?(self.class) &&
        other.expectation_proc.equal?(self.expectation_proc)
      end
      alias :eql? :==

      def inspect
        "satisfy { ... }"
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
rr-3.1.1 lib/rr/wildcard_matchers/satisfy.rb
rr-3.1.0 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.9 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.8 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.7 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.6 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.5 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.4 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.3 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.2 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.1 lib/rr/wildcard_matchers/satisfy.rb
rr-3.0.0 lib/rr/wildcard_matchers/satisfy.rb
rr-1.2.1 lib/rr/wildcard_matchers/satisfy.rb
rr-1.2.0 lib/rr/wildcard_matchers/satisfy.rb
rr-1.1.2 lib/rr/wildcard_matchers/satisfy.rb
rr-1.1.2.rc1 lib/rr/wildcard_matchers/satisfy.rb
rr-1.1.1 lib/rr/wildcard_matchers/satisfy.rb
rr-1.1.1.rc1 lib/rr/wildcard_matchers/satisfy.rb
rr-1.1.0 lib/rr/wildcard_matchers/satisfy.rb
rr-1.1.0.rc3 lib/rr/wildcard_matchers/satisfy.rb