Top Level Namespace
Defined Under Namespace
Classes: FancyStruct
Instance Method Summary collapse
Instance Method Details
#FancyStruct(*attribs, &blk) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/fancystruct.rb', line 31 def FancyStruct(*attribs, &blk) if attribs.size == 1 && attribs.first.is_a?(Hash) keys, values = attribs.first.to_a.transpose FancyStruct(*keys).new(*values) else c = Class.new(FancyStruct) c.attribs *attribs c.class_eval(&blk) if blk c end end |