class Dieses::Application::Sheet::Proto

Public Class Methods

call(**kwargs) click to toggle source
# File lib/dieses/application/sheet.rb, line 53
def self.call(**kwargs)
  new(**kwargs)
end
formatted(*protos, prefix: EMPTY_STRING) { |proto| ... } click to toggle source
# File lib/dieses/application/sheet.rb, line 57
def self.formatted(*protos, prefix: EMPTY_STRING)
  longest_length = protos.map { |proto| proto.name.to_s.length }.max

  protos.map do |proto|
    lines = ["#{prefix}#{proto.name.to_s.ljust(longest_length)}  #{proto.desc}"]
    lines = [*lines, *yield(proto)] if block_given?
    lines
  end.flatten.join("\n")
end

Public Instance Methods

derivate(**kwargs) click to toggle source
# File lib/dieses/application/sheet.rb, line 45
def derivate(**kwargs)
  self.class.new(name: name, desc: desc, **kwargs).freeze
end
to_s() click to toggle source
# File lib/dieses/application/sheet.rb, line 49
def to_s
  name.to_s
end