Module: Legion::Extensions::ServiceNow::Survey::Runners::Survey

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/service_now/survey/runners/survey.rb

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #fetch_oauth2_token, #handle_response

Instance Method Details

#get_survey(sys_id:) ⇒ Object



18
19
20
21
# File 'lib/legion/extensions/service_now/survey/runners/survey.rb', line 18

def get_survey(sys_id:, **)
  resp = connection(**).get("/api/now/table/survey/#{sys_id}")
  { survey: resp.body['result'] }
end

#get_survey_instance(sys_id:) ⇒ Object



31
32
33
34
# File 'lib/legion/extensions/service_now/survey/runners/survey.rb', line 31

def get_survey_instance(sys_id:, **)
  resp = connection(**).get("/api/now/table/asmt_assessment_instance/#{sys_id}")
  { survey_instance: resp.body['result'] }
end

#list_survey_instances(survey_sys_id: nil, sysparm_limit: 100, sysparm_offset: 0) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/legion/extensions/service_now/survey/runners/survey.rb', line 23

def list_survey_instances(survey_sys_id: nil, sysparm_limit: 100,
                          sysparm_offset: 0, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  params[:sysparm_query] = "survey=#{survey_sys_id}" if survey_sys_id
  resp = connection(**).get('/api/now/table/asmt_assessment_instance', params)
  { survey_instances: resp.body['result'] }
end

#list_survey_responses(instance_sys_id:, sysparm_limit: 100) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/legion/extensions/service_now/survey/runners/survey.rb', line 36

def list_survey_responses(instance_sys_id:, sysparm_limit: 100, **)
  params = {
    sysparm_query: "instance=#{instance_sys_id}",
    sysparm_limit: sysparm_limit
  }
  resp = connection(**).get('/api/now/table/asmt_assessment_instance_question', params)
  { responses: resp.body['result'] }
end

#list_surveys(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil) ⇒ Object



11
12
13
14
15
16
# File 'lib/legion/extensions/service_now/survey/runners/survey.rb', line 11

def list_surveys(sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  params[:sysparm_query] = sysparm_query if sysparm_query
  resp = connection(**).get('/api/now/table/survey', params)
  { surveys: resp.body['result'] }
end