/callback

A Crystal library for defining and invoking callbacks.

Primary LanguageCrystalMIT LicenseMIT

Crystal Callback

A Crystal library for defining and invoking callbacks.

Build Status

Installation

Add this to your application's shard.yml:

dependencies:
  callback:
    github: mosop/callback

Usage

require "callback"

class Record
  Callback.enable
  define_callback_group :save

  before_save do
    puts "before"
  end

  around_save do
    puts "around"
  end

  after_save do
    puts "after"
  end

  on_save do
    puts "on"
  end

  def save
    run_callbacks_for_save do
      puts "yield"
    end
  end
end

rec = Record.new
rec.save

This prints:

before
around
on
yield
around
after

For more detail, see Wiki

Release Notes

See Releases.