RecursiveOpenStruct is a extension of OpenStruct. It enhance OpenStruct in that it allows nested hashes to be treated in a recursive fashion. For example:
ros = RecursiveOpenStruct.new( { :fooa => { :foob => 'fooc' } } )
can now be accessed this way :
ros.fooa.foob # 'fooc'
Also, if needed, nested hashes can still be accessed as hashes :
ros.fooa_as_a_hash # { :foob => 'fooc' }
Available as a gem in rubygems, the default gem repository.
If you use bundler, just throw that in your gemfile :
gem 'recursive-open-struct'
You may also install the gem manually :
gem install recursive-open-struct
Isn’t that easy ? (Special thanks to the jeweler tool)
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright © 2010 William (B.J.) Snow Orvis. See LICENSE for details.