A simple gem to support minimal Aspect Oriented Programming in ruby.
Add this line to your application's Gemfile:
gem 'aspectual'
And then execute:
$ bundle
Or install it yourself as:
$ gem install aspectual
Extend the module
extend Aspectual
Create any methods you want as aspects (Aspectual will not add methods you don't have as aspects)
Then declare your aspects
aspects before: :logging, around: fancy_logging, after: :more_logging
def foo
"foo"
end
aspects before: [:notify_user, :notify_admin], around: [:setup_and_teardown, :play_background_music], after: [:remove_temp_files, :play_sound]
def bar
"bar"
end
- Fork it
- 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 new Pull Request