class Tracksale::Answer
Constants
- LIMIT
Attributes
campaign_code[RW]
campaign_name[RW]
categories[RW]
deadline[RW]
dispatch_time[RW]
elapsed_time[RW]
email[RW]
id[RW]
identification[RW]
justifications[RW]
last_nps_answer[RW]
name[RW]
nps_answer[RW]
nps_comment[RW]
phone[RW]
reminder_time[RW]
status[RW]
time[RW]
type[RW]
Public Class Methods
all( start_time=(Time.now-86_400), end_time=(Time.now+86_400))
click to toggle source
# File lib/tracksale/answer.rb, line 18 def all( start_time=(Time.now-86_400), end_time=(Time.now+86_400)) raw_all(start_time,end_time).map { |answer| create_from_response(answer) } end
client()
click to toggle source
# File lib/tracksale/answer.rb, line 55 def client Tracksale.configuration.client.new end
convert_justif(multiple_answers)
click to toggle source
# File lib/tracksale/answer.rb, line 65 def convert_justif(multiple_answers) multiple_answers.map do |single_answer| begin { JSON.parse(single_answer['name']).values.first => single_answer['children'].map { |c| JSON.parse(c).values.first } } rescue JSON::ParserError { single_answer['name'] => single_answer['children'] } end end end
create_from_response(raw_response)
click to toggle source
# File lib/tracksale/answer.rb, line 22 def create_from_response(raw_response) new.tap do |answer| answer.time = Time.at(raw_response['time'].to_i) answer.type = raw_response['type'] answer.name = raw_response['name'] answer.email = raw_response['email'] answer.identification = raw_response['identification'] answer.phone = raw_response['phone'] answer.nps_answer = raw_response['nps_answer'] answer.last_nps_answer = raw_response['last_nps_answer'] answer.nps_comment = raw_response['nps_comment'] answer.campaign_name = raw_response['campaign_name'] answer.campaign_code = raw_response['campaign_code'] answer.id = raw_response['id'] answer.deadline = raw_response['deadline'] answer.elapsed_time = raw_response['elapsed_time'] answer.dispatch_time = raw_response['dispatch_time'] answer.reminder_time = raw_response['reminder_time'] answer.status = raw_response['status'] answer.tags = convert_tags(raw_response['tags']) answer.categories = raw_response['categories'].map { |c| c['name'] } answer.justifications = convert_justif(raw_response['justifications']) end end
raw_all( start_time=(Time.now-86_400), end_time=(Time.now+86_400))
click to toggle source
# File lib/tracksale/answer.rb, line 47 def raw_all( start_time=(Time.now-86_400), end_time=(Time.now+86_400)) start_date = start_time.strftime('%Y-%m-%d') end_date = end_time.strftime('%Y-%m-%d') all_request = "report/answer?tags=true&limit=#{LIMIT}&start=#{start_date}&end=#{end_date}" client.get(all_request) end
Public Instance Methods
campaign()
click to toggle source
# File lib/tracksale/answer.rb, line 13 def campaign Tracksale::Campaign.find_by_code(campaign_code) end