Sha256: e6f1979c7825bc0407a7dbafc8c4a6174068010dbe7a197702623947c731e241

Contents?: true

Size: 1.35 KB

Versions: 14

Compression:

Stored size: 1.35 KB

Contents

class ForeignOffice::Busses::PubnubBus < ForeignOffice::Busses::GenericBus

  def self.config(config)
    self.publish_key = config[:publish_key]
    self.subscribe_key = config[:subscribe_key]
    self.secret_key = config[:secret_key]
  end

  def self.publish_key=(publish_key)
    @publish_key = publish_key
  end

  def self.publish_key
    @publish_key
  end

  def self.subscribe_key=(subscribe_key)
    @subscribe_key = subscribe_key
  end

  def self.subscribe_key
    @subscribe_key
  end

  def self.secret_key=(secret_key)
    @secret_key = secret_key
  end

  def self.secret_key
    @secret_key
  end

  def self.connection
    @pubnub ||= ::Pubnub.new(
      publish_key:    self.publish_key, # publish_key only required if publishing.
      subscribe_key:  self.subscribe_key, # required
      secret_key:     self.secret_key,
      ssl:            true
    )
  end

  def self.publish(message)
    message.symbolize_keys!
    self.connection.publish(
      channel:  message[:channel],
      message:  message,
      http_sync: true
    ) do |envelope|
      if '200' != envelope.status_code.to_s
        Rails.logger.error "ForeignOffice error esponse:"
        Rails.logger.error envelope.message
        Rails.logger.error envelope.channel
        Rails.logger.error envelope.status_code
        Rails.logger.error envelope.timetoken
      end
    end
  end

end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
foreign_office-0.16.2 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.16.1 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.16.0 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.12 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.11 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.10 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.9 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.8 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.7 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.6 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.5 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.4 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.3 lib/foreign_office/busses/pubnub_bus.rb
foreign_office-0.15.2 lib/foreign_office/busses/pubnub_bus.rb