Make ruby code idiomatic

Convert the existing Ruby code to be more idiomatic

- Remove unnecessary parenthesis
- Use implicit method returns
- `Hash.new` -> `{}`
- Change method names from snakeCase to underscore
- Prefer Ruby's inbuilt `merge!` over manual assignment
- Use `:symbols` over `"strings"`
- Default values when a key is missing in a hash
- Prefer `&&` over `and` [http://stackoverflow.com/a/1426835](http://stackoverflow.com/a/1426835)
- Change `self.method` to `method` when calling the method
- Use clean string interpolation
- Add tests
- Update `README.md`