ms-ati / docile Ruby 434 33 Docile keeps your Ruby DSLs tame and well-behaved dsl ruby builder-pattern immutability