Module: APN::Connection

Included in:
APN
Defined in:
lib/apn/connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#full_certificate_pathObject

Returns the value of attribute full_certificate_path.



20
21
22
# File 'lib/apn/connection.rb', line 20

def full_certificate_path
  @full_certificate_path
end

#hostObject

Returns the value of attribute host.



20
21
22
# File 'lib/apn/connection.rb', line 20

def host
  @host
end

#passwordObject

Returns the value of attribute password.



20
21
22
# File 'lib/apn/connection.rb', line 20

def password
  @password
end

#pool_sizeObject

pool config



18
19
20
# File 'lib/apn/connection.rb', line 18

def pool_size
  @pool_size
end

#pool_timeoutObject

pool config



18
19
20
# File 'lib/apn/connection.rb', line 18

def pool_timeout
  @pool_timeout
end

#portObject

Returns the value of attribute port.



20
21
22
# File 'lib/apn/connection.rb', line 20

def port
  @port
end

#rootObject

Returns the value of attribute root.



20
21
22
# File 'lib/apn/connection.rb', line 20

def root
  @root
end

Instance Method Details

#certificateObject



22
23
24
# File 'lib/apn/connection.rb', line 22

def certificate
  @apn_cert ||= File.read(certificate_path)
end

#certificate_nameObject



30
31
32
# File 'lib/apn/connection.rb', line 30

def certificate_name
  @cert_name || "apn_production.pem"
end

#certificate_name=(name) ⇒ Object



34
35
36
# File 'lib/apn/connection.rb', line 34

def certificate_name=(name)
  @cert_name = name
end

#certificate_pathObject



26
27
28
# File 'lib/apn/connection.rb', line 26

def certificate_path
  full_certificate_path || File.join(root, certificate_name)
end

#connection_poolObject



4
5
6
7
8
9
10
11
# File 'lib/apn/connection.rb', line 4

def connection_pool
  @pool ||= ConnectionPool.new(size: (pool_size || 1), timeout: (pool_timeout || 5)) do
    APN::Client.new(host: host,
                    port: port,
                    certificate: certificate,
                    password: password)
  end
end

#with_connection(&block) ⇒ Object



13
14
15
# File 'lib/apn/connection.rb', line 13

def with_connection(&block)
  connection_pool.with(&block)
end