Class: Rpush::Daemon::Gcm::Results
- Inherits:
-
Object
- Object
- Rpush::Daemon::Gcm::Results
- Defined in:
- lib/rpush/daemon/gcm/delivery.rb
Instance Attribute Summary collapse
-
#failures ⇒ Object
readonly
Returns the value of attribute failures.
-
#successes ⇒ Object
readonly
Returns the value of attribute successes.
Instance Method Summary collapse
-
#initialize(results_data, registration_ids) ⇒ Results
constructor
A new instance of Results.
-
#process(failure_partitions = {}) ⇒ Object
rubocop:disable Metrics/AbcSize.
Constructor Details
#initialize(results_data, registration_ids) ⇒ Results
Returns a new instance of Results.
169 170 171 172 |
# File 'lib/rpush/daemon/gcm/delivery.rb', line 169 def initialize(results_data, registration_ids) @results_data = results_data @registration_ids = registration_ids end |
Instance Attribute Details
#failures ⇒ Object (readonly)
Returns the value of attribute failures.
167 168 169 |
# File 'lib/rpush/daemon/gcm/delivery.rb', line 167 def failures @failures end |
#successes ⇒ Object (readonly)
Returns the value of attribute successes.
167 168 169 |
# File 'lib/rpush/daemon/gcm/delivery.rb', line 167 def successes @successes end |
Instance Method Details
#process(failure_partitions = {}) ⇒ Object
rubocop:disable Metrics/AbcSize
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/rpush/daemon/gcm/delivery.rb', line 174 def process(failure_partitions = {}) # rubocop:disable Metrics/AbcSize @successes = [] @failures = Failures.new failure_partitions.each_key do |category| failures[category] = [] end @results_data.each_with_index do |result, index| entry = { registration_id: @registration_ids[index], index: index } if result['message_id'] entry[:canonical_id] = result['registration_id'] if result['registration_id'].present? successes << entry elsif result['error'] entry[:error] = result['error'] failures << entry failure_partitions.each do |category, error_states| failures[category] << entry if error_states.include?(result['error']) end end end failures.all_failed = failures.count == @registration_ids.count end |