Module: Legion::Extensions::ServiceNow::Aggregate::Runners::Aggregate
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/service_now/aggregate/runners/aggregate.rb
Instance Method Summary collapse
Methods included from Helpers::Client
#connection, #fetch_oauth2_token, #handle_response
Instance Method Details
#aggregate(table_name:, sysparm_count: nil, sysparm_sum_fields: nil, sysparm_avg_fields: nil, sysparm_min_fields: nil, sysparm_max_fields: nil, sysparm_query: nil, sysparm_group_by: nil, sysparm_having: nil) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/legion/extensions/service_now/aggregate/runners/aggregate.rb', line 11 def aggregate(table_name:, sysparm_count: nil, sysparm_sum_fields: nil, sysparm_avg_fields: nil, sysparm_min_fields: nil, sysparm_max_fields: nil, sysparm_query: nil, sysparm_group_by: nil, sysparm_having: nil, **) params = {} params[:sysparm_count] = sysparm_count unless sysparm_count.nil? params[:sysparm_sum_fields] = sysparm_sum_fields if sysparm_sum_fields params[:sysparm_avg_fields] = sysparm_avg_fields if sysparm_avg_fields params[:sysparm_min_fields] = sysparm_min_fields if sysparm_min_fields params[:sysparm_max_fields] = sysparm_max_fields if sysparm_max_fields params[:sysparm_query] = sysparm_query if sysparm_query params[:sysparm_group_by] = sysparm_group_by if sysparm_group_by params[:sysparm_having] = sysparm_having if sysparm_having resp = connection(**).get("/api/now/stats/#{table_name}", params) { stats: resp.body['result'] } end |