Class: MessagebusApnApi::Messagebus
- Inherits:
-
Object
- Object
- MessagebusApnApi::Messagebus
- Defined in:
- lib/messagebus_ruby_apn_api/messagebus.rb
Constant Summary collapse
- PLATFORM_IOS =
'ios'- PLATFORM_ANDROID =
'android'
Instance Attribute Summary collapse
-
#send_common_info ⇒ Object
writeonly
Sets the attribute send_common_info.
Instance Method Summary collapse
- #add_apn_register(params, app_key, flush_buffer = false) ⇒ Object
- #add_apn_send(params, app_key, flush_buffer = false) ⇒ Object
- #api_version ⇒ Object
- #apn_register_flush(app_key) ⇒ Object
- #apn_send_flush(app_key) ⇒ Object
- #cacert_info(cert_file) ⇒ Object
- #get_apn_apps ⇒ Object
-
#initialize(api_key) ⇒ Messagebus
constructor
A new instance of Messagebus.
- #register_buffer_size ⇒ Object
- #register_buffer_size=(size) ⇒ Object
- #register_flushed? ⇒ Boolean
- #results ⇒ Object
- #send_buffer_size ⇒ Object
- #send_buffer_size=(size) ⇒ Object
- #send_flushed? ⇒ Boolean
Constructor Details
#initialize(api_key) ⇒ Messagebus
Returns a new instance of Messagebus.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 28 def initialize(api_key) @api_key = api_key init_http_connection(domain) @msg_buffer_size = 20 @msg_buffer = [] @msg_buffer_flushed = false @register_buffer_size = 20 @register_buffer = [] @register_buffer_flushed = false @send_common_info = {} @results = base_response_params @rest_endpoints = define_rest_endpoints @rest_http_errors = define_rest_http_errors end |
Instance Attribute Details
#send_common_info=(value) ⇒ Object (writeonly)
Sets the attribute send_common_info
26 27 28 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 26 def send_common_info=(value) @send_common_info = value end |
Instance Method Details
#add_apn_register(params, app_key, flush_buffer = false) ⇒ Object
107 108 109 110 111 112 113 114 115 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 107 def add_apn_register(params, app_key, flush_buffer = false) @register_buffer << base_apn_register_params.merge!(params) @register_buffer_flushed = false if flush_buffer || @register_buffer.size >= @register_buffer_size apn_register_flush(app_key) end return end |
#add_apn_send(params, app_key, flush_buffer = false) ⇒ Object
78 79 80 81 82 83 84 85 86 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 78 def add_apn_send(params, app_key, flush_buffer = false) @msg_buffer << base_apn_send_params.merge!(params) @msg_buffer_flushed = false if flush_buffer || @msg_buffer.size >= @msg_buffer_size apn_send_flush(app_key) end return end |
#api_version ⇒ Object
74 75 76 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 74 def api_version make_api_get_call(@rest_endpoints[:version]) end |
#apn_register_flush(app_key) ⇒ Object
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 117 def apn_register_flush(app_key) if (@register_buffer.size==0) @results=@empty_send_results return end endpoint = @rest_endpoints[:apn_register].gsub("%KEY%", app_key) json = json_apn_register_from_list(@register_buffer) if (@last_init_time < Time.now.utc - 60) init_http_connection(domain) end @results=make_api_post_call(endpoint, json) @register_buffer.clear @register_buffer_flushed = true return end |
#apn_send_flush(app_key) ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 88 def apn_send_flush(app_key) if (@msg_buffer.size==0) @results=@empty_send_results return end endpoint = @rest_endpoints[:apn_send].gsub("%KEY%", app_key) json = json_apn_send_from_list(@msg_buffer) if (@last_init_time < Time.now.utc - 60) init_http_connection(domain) end @results=make_api_post_call(endpoint, json) @msg_buffer.clear @msg_buffer_flushed = true return end |
#cacert_info(cert_file) ⇒ Object
141 142 143 144 145 146 147 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 141 def cacert_info(cert_file) @http.verify_mode = OpenSSL::SSL::VERIFY_PEER if !File.exists?(cert_file) raise MessagebusApi::MissingFileError.new("Unable to read file #{cert_file}") end @http.ca_file = File.join(cert_file) end |
#get_apn_apps ⇒ Object
135 136 137 138 139 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 135 def get_apn_apps path = @rest_endpoints[:apn_apps] @results = make_api_get_call(path) @results end |
#register_buffer_size ⇒ Object
66 67 68 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 66 def register_buffer_size @register_buffer_size end |
#register_buffer_size=(size) ⇒ Object
62 63 64 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 62 def register_buffer_size=(size) @register_buffer_size = size if (size >= 1 && size <= 100) end |
#register_flushed? ⇒ Boolean
70 71 72 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 70 def register_flushed? @register_buffer_flushed end |
#results ⇒ Object
46 47 48 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 46 def results @results end |
#send_buffer_size ⇒ Object
54 55 56 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 54 def send_buffer_size @msg_buffer_size end |
#send_buffer_size=(size) ⇒ Object
50 51 52 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 50 def send_buffer_size=(size) @msg_buffer_size = size if (size >= 1 && size <= 100) end |
#send_flushed? ⇒ Boolean
58 59 60 |
# File 'lib/messagebus_ruby_apn_api/messagebus.rb', line 58 def send_flushed? @msg_buffer_flushed end |