Sha256: 6dd6a04515fbf01523d668d8cf1077f07eec78bb6cf6f94e8b9a76b5e01a2bd6

Contents?: true

Size: 352 Bytes

Versions: 4

Compression:

Stored size: 352 Bytes

Contents

module Murlsh

  class Plugin

    def self.inherited(child)
      registered << child
    end

    def self.hooks(name)
      matches = registered.select { |p| p::Hook == name }

      if block_given?
        matches.each { |p| yield p }
      end
      matches
    end

    @registered = []
    class << self; attr_reader :registered end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
murlsh-0.2.4 lib/murlsh/plugin.rb
murlsh-0.2.3 lib/murlsh/plugin.rb
murlsh-0.2.2 lib/murlsh/plugin.rb
murlsh-0.2.1 lib/murlsh/plugin.rb