Sha256: 277b7cc68d2a85661ba10e24d3ff6c71df40ea67b39a89c604b57f5b636961db

Contents?: true

Size: 694 Bytes

Versions: 12

Compression:

Stored size: 694 Bytes

Contents

module Spec
  module Matchers
    
    class Has #:nodoc:
      def initialize(sym, *args)
        @sym = sym
        @args = args
      end
      
      def matches?(target)
        target.send(predicate, *@args)
      end
      
      def failure_message
        "expected ##{predicate}(#{@args[0].inspect}) to return true, got false"
      end
      
      def negative_failure_message
        "expected ##{predicate}(#{@args[0].inspect}) to return false, got true"
      end
      
      def description
        "have key #{@args[0].inspect}"
      end
      
      private
        def predicate
          "#{@sym.to_s.sub("have_","has_")}?".to_sym
        end
        
    end
 
  end
end

Version data entries

12 entries across 12 versions & 3 rubygems

Version Path
radiant-0.6.5.1 vendor/plugins/rspec/lib/spec/matchers/has.rb
radiant-0.6.5 vendor/plugins/rspec/lib/spec/matchers/has.rb
radiant-0.6.6 vendor/plugins/rspec/lib/spec/matchers/has.rb
radiant-0.6.7 vendor/plugins/rspec/lib/spec/matchers/has.rb
radiant-0.6.8 vendor/plugins/rspec/lib/spec/matchers/has.rb
radiant-0.6.9 vendor/plugins/rspec/lib/spec/matchers/has.rb
rspec-0.0.10 lib/spec/matchers/has.rb
rspec-1.1.4 lib/spec/matchers/has.rb
spree-0.4.0 vendor/plugins/rspec/lib/spec/matchers/has.rb
spree-0.4.1 vendor/plugins/rspec/lib/spec/matchers/has.rb
spree-0.5.0 vendor/plugins/rspec/lib/spec/matchers/has.rb
spree-0.5.1 vendor/plugins/rspec/lib/spec/matchers/has.rb