Skip to content

Whimsical-Doodles/baa

Repository files navigation

baa

Before After Around hooks for Ruby classes

  gem install baa
require 'baa'

class Foo
  extend Hooks

  def bar
    puts 'bar'
  end

  def baz
    puts 'baz'
  end

  def blat
    puts 'blat'
  end

  before :bar do
    puts 'before bar'
  end

  def pre
    puts 'before baz'
  end

  around :baz, :pre do
    puts 'after baz'
  end

  after :blat do
    puts 'after blat'
  end

  begin
    before :baz do
      puts "this should error"
    end
  rescue StandardError => e
    puts e.message
  end
end

Foo.new.bar
Foo.new.baz
Foo.new.blat

outputs

  Method (:baz) already has hooks applied
  {:before=>[:bar], :after=>[:blat], :around=>[:baz]}
  before bar
  bar
  before baz
  baz
  after baz
  blat
  after blat

About

Before After Around hooks for Ruby classes - still in ALPHA

Resources

License

Stars

Watchers

Forks

Packages

No packages published