Sha256: 297e12c27f0bfbab4d266a50f6f67de6e8f6fd7d5a3c57e87064170a4b1c0ecf

Contents?: true

Size: 557 Bytes

Versions: 3

Compression:

Stored size: 557 Bytes

Contents

module Hipbot
  module Plugin
    extend ActiveSupport::Concern

    included do
      extend Reactable
      extend ClassMethods

      include Singleton
      include Helpers

      attr_accessor :response

      delegate :sender, :recipients, :body, :room, :reply, to: :response
      delegate :bot, to: Hipbot

      Hipbot.plugins.unshift(self.instance)
    end

    module ClassMethods
      def configure
        yield instance
      end

      def with_response response
        instance.tap{ |i| i.response = response }
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hipbot-1.0.4 lib/hipbot/plugin.rb
hipbot-1.0.3 lib/hipbot/plugin.rb
hipbot-1.0.0 lib/hipbot/plugin.rb