class Sus::RespondTo::WithParameters
def call(assertions, subject)
def call(assertions, subject) parameters = @parameters.dup assertions.nested(self) do |assertions| expected_name = parameters.shift subject.each do |type, name| case type when :req assertions.assert(name == expected_name, "parameter #{expected_name} is required, but was #{name}") when :opt break if expected_name.nil? assertions.assert(name == expected_name, "parameter #{expected_name} is specified, but was #{name}") else break end end end end
def initialize(parameters)
def initialize(parameters) @parameters = parameters end