lib/workers/query_tfcc_for_acknowledgments_worker.rb
class QueryTfccForAcknowledgmentsWorker < BackgrounDRb::MetaWorker
set_worker_name :query_tfcc_for_acknowledgments_worker
set_no_auto_load(true)
def create(args = nil)
# this method is called, when worker is loaded for the first time
end
def query(args = nil)
Service::Phone::Tfcc::CampaignActivationResponse.active.acknowledge.each do |car|
result = Service::Phone::Tfcc::DetailedActivationResults.build(car, Service::Phone.configuration.options)
detail = result['ucsxml']['response']['activation_detail']
results_returned = detail['results_returned']
if results_returned != "0"
detail['results'].each do |result|
email = result[1]['c0']
response = result[1]['data1']
time = result[1]['xdate']
if response == "1" && !email.blank?
user = User.find_by_email(email)
alert_attempt = car.alert.alert_attempts.with_device("Device::PhoneDevice").find_by_user_id(user.id) unless user.blank?
if (!alert_attempt.blank?)
alert_attempt.acknowledged_at = time
alert_attempt.acknowledged_alert_device_type = AlertDeviceType.find_by_device("Device::PhoneDevice")
alert_attempt.save!
end
end
end
end
end
end
end