has_fields RSpec匹配器在哪里定义?

时间:2013-08-09 17:23:18

标签: ruby rspec gem mongoid

recent question on using rspec其中包含一些带有have_fields匹配器的代码。

搜索表明在have_fields gem中引用了mongoid-rspec,但是当我去GitHub时,我只能在spec文件中找到它。

对RSpec核心和相关宝石的类似搜索也是空洞的。

1 个答案:

答案 0 :(得分:1)

您可能正在寻找mongoid-minitest宝石。

have_field.rb中,它将have_fields声明为别名:

module Mongoid
  module Matchers
    module Document
      # TODO: Add documentation.
      def have_field *fields
        HaveFieldMatcher.new(*fields)
      end
      alias :have_fields :have_field

      private

      class HaveFieldMatcher < Matcher
        attr_reader :fields, :klass, :type, :default, :errors

        def initialize *fields
          @fields = fields.collect(&:to_s)
          @errors = []
        end

        def of_type type
          @type = type
          self
        end

        ... (rest of file omitted)