Arity
Logic to determine when Ruby functions can be called.
Installation
Add gem 'arity'
to your Gemfile.
Usage
function = Arity::Function.make(some_callable)
# note the use of .make versus .new
# some_callable should respond to :call
# otherwise, .make will raise an Arity::NotCallableError
# to avoid raising, pass {silent: true} to .make and it will return nil instead
function.arity
# delegates to Ruby's built-in arity logic
function.takes?(arg_count: 3, keywords: [:things])
# determines if the supplied method parameter structure is valid.
function.runnable?('thing-1','thing-2','thing-3', things: 3)
# computes the parameter structure and delegates to .takes?
function.run('thing-1','thing-2','thing-3', things: 3)
# calls .call on the callable with the supplied parameters
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/fledman/arity.
License
The gem is available as open source under the terms of the MIT License.