Sha256: 84c7ee076b4be2fd083449d9be21c010e48e04a655bd7427c1883a69be76c394
Contents?: true
Size: 1.27 KB
Versions: 5
Compression:
Stored size: 1.27 KB
Contents
# recursive-open-struct OpenStruct subclass that returns nested hash attributes as RecursiveOpenStructs. It allows for hashes within hashes to be called in a chain of methods: ros = RecursiveOpenStruct.new( { :fooa => { :foob => 'fooc' } } ) ros.fooa.foob # => 'fooc' Also, if needed, nested hashes can still be accessed as hashes: ros.fooa_as_a_hash # { :foob => 'fooc' } RecursiveOpenStruct can also optionally recurse across arrays, although you have to explicitly enable it: h = { :somearr => [ { :name => 'a'}, { :name => 'b' } ] } ros = RecursiveOpenStruct.new(h, :recurse_over_arrays => true ) ros.somarr[0].name # => 'a' ros.somarr[1].name # => 'b' ## 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 ## Contributing * Fork the project. * Make your feature addition or bug fix. * Add tests for your new or changed functionality. Make sure the tests you add provide clean and clear explanation of the feature. * Send me a pull request. Bonus points for topic branches. ## Copyright Copyright (c) 2009-2015 William (B.J.) Snow Orvis. See LICENSE for details.
Version data entries
5 entries across 5 versions & 1 rubygems