Sha256: bb305b1d9ceb5e7b9fae657660f7945b870ef98c5a81138c0ffe964652402642

Contents?: true

Size: 406 Bytes

Versions: 22

Compression:

Stored size: 406 Bytes

Contents

module RR
  module WildcardMatchers
    class IsA
      attr_reader :klass

      def initialize(klass)
        @klass = klass
      end

      def wildcard_match?(other)
        self == other || other.is_a?(klass)
      end

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

      def inspect
        "is_a(#{klass})"
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

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