Skip to content

OpenStruct subclass that returns nested hash attributes as RecursiveOpenStructs

License

Notifications You must be signed in to change notification settings

chasemgray/recursive-open-struct

 
 

Repository files navigation

recursive-open-struct

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' }

Installation

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)

Note on Patches/Pull Requests

  • 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.

About

OpenStruct subclass that returns nested hash attributes as RecursiveOpenStructs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 99.3%
  • Other 0.7%