fugazi¶ ↑
A simple gem providing a dsl for defining and initializing class fields
example¶ ↑
class Box include Fugazi fields :content defaults x: 0, y: 0 keywords z: 0 end # <=> class Box attr_reader :content, :x, :y, :z def initialize(content, x = 0, y = 0, z: 0) @content = content @x = x @y = y @z = z end end
implementation¶ ↑
fugazi
saves the arg labels and default values in class variables and combines them with args in #initialize
using class variables here is ok, because it’s intended to be used only in base classes
todo¶ ↑
block support error handling