Module: Legion::Extensions::ServiceNow::Metric::Runners::Metric

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

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #fetch_oauth2_token, #handle_response

Instance Method Details

#get_metric_definition(sys_id:) ⇒ Object



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

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

#get_metric_instance(sys_id:) ⇒ Object



35
36
37
38
# File 'lib/legion/extensions/service_now/metric/runners/metric.rb', line 35

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

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



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

def list_metric_definitions(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/metric_definition', params)
  { metric_definitions: resp.body['result'] }
end

#list_metric_instances(metric_sys_id: nil, table: nil, sysparm_limit: 100, sysparm_offset: 0) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'lib/legion/extensions/service_now/metric/runners/metric.rb', line 24

def list_metric_instances(metric_sys_id: nil, table: nil,
                          sysparm_limit: 100, sysparm_offset: 0, **)
  params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
  query_parts = []
  query_parts << "metric_definition=#{metric_sys_id}" if metric_sys_id
  query_parts << "table=#{table}" if table
  params[:sysparm_query] = query_parts.join('^') unless query_parts.empty?
  resp = connection(**).get('/api/now/table/metric_instance', params)
  { metric_instances: resp.body['result'] }
end