class RSpec::Support::MethodSignatureExpectation

Encapsulates expectations about the number of arguments and allowed/required keyword args of a given method.

@api private

Attributes

expect_arbitrary_keywords[RW]
expect_unlimited_arguments[RW]
keywords[R]
max_count[R]
min_count[R]

Public Class Methods

new() click to toggle source
# File lib/rspec/support/method_signature_verifier.rb, line 215
def initialize
  @min_count = nil
  @max_count = nil
  @keywords  = []

  @expect_unlimited_arguments = false
  @expect_arbitrary_keywords  = false
end

Public Instance Methods

empty?() click to toggle source
# File lib/rspec/support/method_signature_verifier.rb, line 242
def empty?
  @min_count.nil? &&
    @keywords.to_a.empty? &&
    !@expect_arbitrary_keywords &&
    !@expect_unlimited_arguments
end
keywords=(values) click to toggle source
# File lib/rspec/support/method_signature_verifier.rb, line 249
def keywords=(values)
  @keywords = values.to_a || []
end
max_count=(number) click to toggle source
# File lib/rspec/support/method_signature_verifier.rb, line 228
def max_count=(number)
  raise ArgumentError, 'must be a non-negative integer or nil' \
    unless number.nil? || (number.is_a?(Integer) && number >= 0)

  @max_count = number
end
min_count=(number) click to toggle source
# File lib/rspec/support/method_signature_verifier.rb, line 235
def min_count=(number)
  raise ArgumentError, 'must be a non-negative integer or nil' \
    unless number.nil? || (number.is_a?(Integer) && number >= 0)

  @min_count = number
end