Sha256: 1c5e2d54af329f860710842a7c9c617caa27e774deb817fde92c0252a5304c44

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

require_relative 'printer'

module Sapos
  module Print
    class QReader 
      class << self
        attr_accessor :printer_config, :verbose
      end
    
      attr_accessor :pubnub, :printer, :config
    
      def self.run!
        reader = QReader.new
        callback = Pubnub::SubscribeCallback.new(
          message: -> (envelope){
            document = Base64.decode64(envelope.result[:data][:message]['document'])
            if reader.printer.print(document)
              puts "OK"
            else
              puts "Printer Error".red
            end
          },
          presence: ->(envelope){},
          status: ->(envelope){}
        )
        reader.pubnub.add_listener(callback: callback)
        reader.pubnub.subscribe(channels: reader.config.q)
        ARGV.clear
        while line = gets do
           #Wait forever ;-)
        end
      end
    
      def initialize
        @config = QReader.printer_config
        @printer = Printer.new(@config)
        @pubnub = Pubnub.new(subscribe_key: @config.key)
      end        
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sapos-print-1.0.0 lib/sapos/print/q_reader.rb