Revision: 15649
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 13, 2009 00:25 by benweissmann
Initial Code
# Ex: # > foo = OpenStruct.new # > foo.add :bar # > foo.bar.a = 10 # > foo.bar.a # => 10 # > foo.add 'bar.baz.bax' # > foo.bar.baz.bax.something = 100 # > foo.bar.baz.bax.something # => 100 require 'ostruct' class OpenStruct def add name last = self name.to_s.split('.').each do |n| o = OpenStruct.new last.send n.concat('=').intern, o last = o end return last end end
Initial URL
Initial Description
Initial Title
Add arbitary levels to an OpenStruct - OpenStruct#add
Initial Tags
Initial Language
Ruby