Sha256: 511070e0d59dcf119dfdd14bcc6108647b5ad0fa70683833e8c86d11e036bd01

Contents?: true

Size: 886 Bytes

Versions: 5

Compression:

Stored size: 886 Bytes

Contents

module NotifyUser
  class APNConnection

    attr_accessor :connection

    def initialize
      setup
    end

    def setup
      @uri, @certificate = if Rails.env.production? || apn_environment == :production
        [
          ::Houston::APPLE_PRODUCTION_GATEWAY_URI,
          File.read("#{Rails.root}/config/keys/production_push.pem")
        ]
      else
        [
          ::Houston::APPLE_DEVELOPMENT_GATEWAY_URI,
          File.read("#{Rails.root}/config/keys/development_push.pem")
        ]
      end

      @connection = ::Houston::Connection.new(@uri, @certificate, nil)
      @connection.open
    end

    def write(data)
      raise "Connection is closed" unless @connection.open?
      @connection.write(data)
    end

    private

    def apn_environment
      return nil unless ENV['APN_ENVIRONMENT']

      ENV['APN_ENVIRONMENT'].downcase.to_sym
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
notify_user-0.1.3 app/models/notify_user/apn_connection.rb
notify_user-0.1.2 app/models/notify_user/apn_connection.rb
notify_user-0.1.1 app/models/notify_user/apn_connection.rb
notify_user-0.0.30 app/models/notify_user/apn_connection.rb
notify_user-0.0.29 app/models/notify_user/apn_connection.rb