Hollaback
Builds method chains such that you can execute functions inside of a predefined set of callbacks.
Installation
Add this line to your application's Gemfile:
gem 'hollaback'
And then execute:
$ bundle
Or install it yourself as:
$ gem install hollaback
Usage
Sometimes you want to execute code in the context of hooks. With this gem you can build before, after, and around callbacks that are executed in the context of the given object. For befores and afters you can use either symbols are procs. For arounds you can use symbols.
class Callbacker
def say_hello
puts 'Hello!'
end
def say_goodbye
puts 'Goodbye!'
end
def say(&block)
puts 'speaking... '
puts yield
puts '...done.'
end
end
require 'hollaback'
chain = Hollaback::Chain.new
chain.before :say_hello
chain.before { puts 'How are you?' }
chain.after :say_goodbye
chain.around :say
chain.compile { '- Hollaback' }.call(Callbacker.new)
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also 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, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/localytics/hollaback.
License
The gem is available as open source under the terms of the MIT License.