class Sus::Have::Attribute
def call(assertions, subject)
def call(assertions, subject) assertions.nested(self) do |assertions| assertions.assert(subject.respond_to?(@name), "has attribute") @predicate&.call(assertions, subject.send(@name)) end end
def initialize(name, predicate)
def initialize(name, predicate) @name = name @predicate = predicate end
def print(output)
def print(output) output.write("attribute ", :variable, @name.to_s, :reset, " ", @predicate, :reset) end