module Sus::Describe
def self.build(parent, subject, unique: true, &block)
def self.build(parent, subject, unique: true, &block) base = Class.new(parent) base.singleton_class.prepend(Describe) base.children = Hash.new base.subject = subject base.description = subject.to_s base.identity = Identity.nested(parent.identity, base.description, unique: unique) base.set_temporary_name("#{self}[#{base.description}]") base.define_method(:subject, ->{subject}) if block_given? base.class_exec(&block) end return base end
def print(output)
def print(output) output.write( "describe ", :describe, self.description, :reset, # " ", self.identity.to_s ) end