Sha256: d222170fa5244a7e5917426fb0b8dbe8affafe1dc65f1c12a22c8a9e3073541c

Contents?: true

Size: 462 Bytes

Versions: 10

Compression:

Stored size: 462 Bytes

Contents

module Cognition
  module Plugins
    class Base
      attr_accessor :matchers

      def initialize
        @matchers = self.class.definitions.collect do |trigger, help, method_name|
          Matcher.new(trigger, help, &Proc.new(&method(method_name)))
        end
      end

      def self.match(trigger, help, action)
        definitions << [trigger, help, action]
      end

      def self.definitions
        @definitions ||= []
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
cognition-1.1.4 lib/cognition/plugins/base.rb
cognition-1.1.3 lib/cognition/plugins/base.rb
cognition-1.1.2 lib/cognition/plugins/base.rb
cognition-1.1.1 lib/cognition/plugins/base.rb
cognition-1.1.0 lib/cognition/plugins/base.rb
cognition-1.0.3 lib/cognition/plugins/base.rb
cognition-1.0.1 lib/cognition/plugins/base.rb
cognition-1.0.0 lib/cognition/plugins/base.rb
cognition-0.1.0 lib/cognition/plugins/base.rb
cognition-0.0.1 lib/cognition/plugins/base.rb