Sha256: 6d01c4348b8a36fb57e11d406fff6434836d2922462aa615597c623f9fc906f3

Contents?: true

Size: 478 Bytes

Versions: 3

Compression:

Stored size: 478 Bytes

Contents

module Fabricators
  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

3 entries across 3 versions & 1 rubygems

Version Path
fabricators-0.1.2 lib/fabricators/callbacks.rb
fabricators-0.1.1 lib/fabricators/callbacks.rb
fabricators-0.1.0 lib/fabricators/callbacks.rb