Sha256: 7fb59cc3943ce6cebfb9453366c15bf534709bc86ab0cb6145eb38ce21fa0937

Contents?: true

Size: 504 Bytes

Versions: 4

Compression:

Stored size: 504 Bytes

Contents

module WhirledPeas
  module Frame
    # Abstract class for consuming frame events.
    class Consumer
      EOF = '__EOF__'

      def enqueue(name, duration, args)
        raise NotImplemented, "#{self.class} must implement #enqueue"
      end

      def running?
        @running == true
      end

      def start
        self.running = true
      end

      def stop
        enqueue(EOF, nil, {})
      end

      private

      attr_writer :running
    end

    private_constant :Consumer
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
whirled_peas-0.7.1 lib/whirled_peas/frame/consumer.rb
whirled_peas-0.7.0 lib/whirled_peas/frame/consumer.rb
whirled_peas-0.6.0 lib/whirled_peas/frame/consumer.rb
whirled_peas-0.5.0 lib/whirled_peas/frame/consumer.rb