# CoolHash Cool Hash is a collection of cool hash extensions in ruby that extend the default hash class. ## Installation Add this line to your application's Gemfile: ```ruby gem 'cool_hash' ``` And then execute: $ bundle Or install it yourself as: $ gem install cool_hash ## Usage Its probably easier to just install whatever hash function by gem but just in case you wish to use this gem: ```Ruby require 'cool_hash' ``` To use the individual gems: 1. Camelize your snake keys when working with JSON APIs: https://github.com/futurechimp/awrence ```Ruby my_hash = {"first_key" => 1, "foo_bars" => [{"baz_baz" => "value"}, {"blah_blah" => "value"}]} camel_hash = my_hash.to_camel_keys # => {"FirstKey" => 1, "FooBars" => [{"BazBaz" => "value"}, {"BlahBlah" => "value"}]} # OR camel_hash = my_hash.to_camelback_keys # => {"firstKey" => 1, "fooBars" => [{"bazBaz" => "value"}, {"blahBlah" => "value"}]} ``` 2. Snakify your camel keys when working with JSON APIs: https://github.com/futurechimp/plissken ```Ruby my_hash = {"firstKey" => 1, "fooBars" => [{"bazBaz" => "value"}, {"blahBlah" => "value"}]} snaked_hash = my_hash.to_snake_keys # => {"first_key" => 1, "foo_bars" => [{"baz_baz" => "value"}, {"blah_blah" => "value"}]} ``` 3. Facets Hashery Collection of Hash-based classes: https://github.com/rubyworks/hashery ```Ruby # Please read the documentation. ``` 4. Hashie is a collection of classes and mixins that make hashes more powerful: https://github.com/intridea/hashie ```Ruby # Please read the documentation. ``` ## Other Related Gems: 1. https://github.com/zilkey/active_hash 2. https://github.com/idlefingers/hash-pipe ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Contributing 1. Fork it ( https://github.com/[my-github-username]/cool_hash/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create a new Pull Request All licenses belong to their respective gems. This is merely a collection.