class MiniTest::Assertions::BaseAssertRequiredParameter

Base assertion class to verify error raised when parameter omitted.

Attributes

klass[R]
message[R]
param_key[R]
params[R]

Public Class Methods

new(klass, params, param_key, message) click to toggle source
# File lib/prolog_minitest_matchers/matchers/asserters/base_assert_required_parameter.rb, line 11
def initialize(klass, params, param_key, message)
  message ||= default_message_for(param_key)
  @params = Internals.hash_without_key(params, param_key)
  @klass = klass
  @param_key = param_key
  @message = message
  self
end

Public Instance Methods

call(assert) click to toggle source
# File lib/prolog_minitest_matchers/matchers/asserters/base_assert_required_parameter.rb, line 20
def call(assert)
  assert.call(correct_error_message?, message)
end

Private Instance Methods

actual_error_message() click to toggle source

Recent versions of Reek complain about a :reek:NilCheck. Yup.

# File lib/prolog_minitest_matchers/matchers/asserters/base_assert_required_parameter.rb, line 29
def actual_error_message
  errors[:expected]&.message
end
correct_error_message?() click to toggle source
# File lib/prolog_minitest_matchers/matchers/asserters/base_assert_required_parameter.rb, line 33
def correct_error_message?
  actual_error_message.match message
end
errors() click to toggle source
# File lib/prolog_minitest_matchers/matchers/asserters/base_assert_required_parameter.rb, line 37
def errors
  InduceError.call error_class: error_class, inducer: error_inducer
end