override-parens
A few gems and Ruby libraries - notably the JSON
library that comes with Ruby - give you shorthands like the following:
JSON('{}') == JSON.parse('{}')
Ruby doesn't actually let you override the method call operator - what's really going on is that the JSON library defines a method JSON
on Kernel, and Ruby tolerates methods that have the same name as a class or module.
This gem lets you hide that piece of trickery and pretend that it's possible to override parentheses in Ruby.
require 'override-parens'
class MyClass
include OverrideParens
def self.parens(foo)
new(foo)
end
def initialize(foo)
@foo = foo
end
end
MyClass(1)
Installation
Add this line to your application's Gemfile:
gem 'override-parens'
And then execute:
$ bundle
Or install it yourself as:
$ gem install override-parens
Dependencies
override-parens
only works on Ruby 1.9.3 and above.
Contributing
- Fork it ( https://github.com/benchristel/override-parens/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request