Class: APN::Feedback
- Includes:
- AASM
- Defined in:
- lib/urbanairship_on_rails/models/apn/feedback.rb
Overview
The return value is application/json with the following structure:
Constant Summary
Constants inherited from Base
Base::MAX_RETRIES, Base::OPEN_TIMEOUT, Base::READ_TIMEOUT
Instance Method Summary collapse
Methods inherited from Base
#http_delete, #http_get, #http_post, #http_put, table_name
Instance Method Details
#get_feedback {|result| ... } ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/urbanairship_on_rails/models/apn/feedback.rb', line 55 def get_feedback self.activate! # puts "APN::get_feedback" # time = 1.day.ago.iso8601 time = last_feedback_time # puts " since #{time}" result = http_get("/api/device_tokens/feedback/?since=#{time}", nil, {}, true) self.code = result.code.to_s self. = result..to_s self.body = result.body.to_s yield result if block_given? end |
#last_feedback_time ⇒ Object
69 70 71 72 |
# File 'lib/urbanairship_on_rails/models/apn/feedback.rb', line 69 def last_feedback_time f = APN::Feedback.last_feedback_request.first f.nil? ? Time.at(0).iso8601 : f.created_at.iso8601 end |
#run ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/urbanairship_on_rails/models/apn/feedback.rb', line 39 def run raise "save feedback record before running" if self.new_record? get_feedback { |results| puts results.inspect if results.code.to_i == 200 result = JSON.parse(results.body) # parse json results result.each do |item| # iterate results and delete devices that have been deactivated d = APN::Device.find_by_ua_token(item['device_token']) d.deactivate! if d end self.process! end } end |