Class: NotifyUser::APNConnection

Inherits:
Object
  • Object
show all
Defined in:
app/models/notify_user/apn_connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAPNConnection

Returns a new instance of APNConnection.



6
7
8
# File 'app/models/notify_user/apn_connection.rb', line 6

def initialize
  setup
end

Instance Attribute Details

#connectionObject

Returns the value of attribute connection.



4
5
6
# File 'app/models/notify_user/apn_connection.rb', line 4

def connection
  @connection
end

Instance Method Details

#setupObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/models/notify_user/apn_connection.rb', line 10

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

#write(data) ⇒ Object



27
28
29
30
# File 'app/models/notify_user/apn_connection.rb', line 27

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