Sha256: 2b7cc9ec39cb6bcdd715903330df519d00965aeb1c9de6f61741b1af8b0d7aa2

Contents?: true

Size: 473 Bytes

Versions: 2

Compression:

Stored size: 473 Bytes

Contents

module Makers
  module Callbacks

    def callbacks
      @callbacks ||= {}
    end

    %w(after before).each do |moment|
      define_method moment do |actions, &block|
        actions = [actions] unless actions.is_a? Array
        actions.each do |action|
          name = :"#{moment}_#{action}"
          if callbacks[name]
            callbacks[name] << block
          else
            callbacks[name] = [block]
          end
        end
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
makers-0.1.3 lib/makers/callbacks.rb
makers-0.1.2 lib/makers/callbacks.rb