class Mocha::ParameterMatchers::Includes

Parameter matcher which matches when actual parameter includes expected values.

Public Class Methods

new(*items) click to toggle source

@private

# File lib/mocha/parameter_matchers/includes.rb, line 33
def initialize(*items)
  @items = items
end

Public Instance Methods

matches?(available_parameters) click to toggle source

@private

# File lib/mocha/parameter_matchers/includes.rb, line 38
def matches?(available_parameters)
  parameter = available_parameters.shift
  return false unless parameter.respond_to?(:include?)

  if @items.size == 1
    return parameter.include?(@items.first)
  else
    includes_matchers = @items.map { |item| Includes.new(item) }
    AllOf.new(*includes_matchers).matches?([parameter])
  end
end
mocha_inspect() click to toggle source

@private

# File lib/mocha/parameter_matchers/includes.rb, line 51
def mocha_inspect
  item_descriptions = @items.map(&:mocha_inspect)
  "includes(#{item_descriptions.join(', ')})"
end