class KeywordParameterMatchers::HaveOptionalKeywordParameter

Public Class Methods

new(expected) click to toggle source
# File lib/keyword_parameter_matchers/have_optional_keyword_parameter.rb, line 3
def initialize(expected)
  @expected = expected
end

Public Instance Methods

failure_message() click to toggle source
# File lib/keyword_parameter_matchers/have_optional_keyword_parameter.rb, line 15
def failure_message
  "expected \"#{expected}\" to be an optional keyword parameter in " \
    "example_method parameter list #{parameter_list.inspect}"
end
failure_message_when_negated() click to toggle source
# File lib/keyword_parameter_matchers/have_optional_keyword_parameter.rb, line 20
def failure_message_when_negated
  "expected \"#{expected}\" not to be an optional keyword " \
    "parameter in example_method parameter list " \
    "#{parameter_list.inspect}"
end
matches?(actual) click to toggle source
# File lib/keyword_parameter_matchers/have_optional_keyword_parameter.rb, line 7
def matches?(actual)
  @actual = actual

  actual.parameters.any? { |type, name|
    :key == type && name == expected
  }
end

Private Instance Methods

actual() click to toggle source
# File lib/keyword_parameter_matchers/have_optional_keyword_parameter.rb, line 27
def actual
  NullMethod.new_if_nil(@actual)
end
expected() click to toggle source
# File lib/keyword_parameter_matchers/have_optional_keyword_parameter.rb, line 31
def expected
  @expected
end
method_name() click to toggle source
# File lib/keyword_parameter_matchers/have_optional_keyword_parameter.rb, line 35
def method_name
  actual.name
end
parameter_list() click to toggle source
# File lib/keyword_parameter_matchers/have_optional_keyword_parameter.rb, line 39
def parameter_list
  actual.parameters
end