Module: Legion::Extensions::ServiceNow::Table::Runners::Table
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/service_now/table/runners/table.rb
Instance Method Summary
collapse
-
#table_create(table_name:, **fields) ⇒ Object
-
#table_delete(table_name:, sys_id:) ⇒ Object
-
#table_get(table_name:, sys_id:, sysparm_fields: nil, sysparm_display_value: nil) ⇒ Object
-
#table_list(table_name:, sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil, sysparm_fields: nil, sysparm_display_value: nil, sysparm_exclude_reference_link: nil) ⇒ Object
-
#table_update(table_name:, sys_id:, **fields) ⇒ Object
#connection, #fetch_oauth2_token, #handle_response
Instance Method Details
#table_create(table_name:, **fields) ⇒ Object
32
33
34
35
36
|
# File 'lib/legion/extensions/service_now/table/runners/table.rb', line 32
def table_create(table_name:, **fields)
body = fields.except(:url, :client_id, :client_secret, :token, :username, :password)
resp = connection(**fields).post("/api/now/table/#{table_name}", body)
{ record: resp.body['result'] }
end
|
#table_delete(table_name:, sys_id:) ⇒ Object
44
45
46
47
|
# File 'lib/legion/extensions/service_now/table/runners/table.rb', line 44
def table_delete(table_name:, sys_id:, **)
resp = connection(**).delete("/api/now/table/#{table_name}/#{sys_id}")
{ deleted: resp.status == 204, sys_id: sys_id }
end
|
#table_get(table_name:, sys_id:, sysparm_fields: nil, sysparm_display_value: nil) ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'lib/legion/extensions/service_now/table/runners/table.rb', line 23
def table_get(table_name:, sys_id:, sysparm_fields: nil,
sysparm_display_value: nil, **)
params = {}
params[:sysparm_fields] = sysparm_fields if sysparm_fields
params[:sysparm_display_value] = sysparm_display_value unless sysparm_display_value.nil?
resp = connection(**).get("/api/now/table/#{table_name}/#{sys_id}", params)
{ record: resp.body['result'] }
end
|
#table_list(table_name:, sysparm_limit: 100, sysparm_offset: 0, sysparm_query: nil, sysparm_fields: nil, sysparm_display_value: nil, sysparm_exclude_reference_link: nil) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/legion/extensions/service_now/table/runners/table.rb', line 11
def table_list(table_name:, sysparm_limit: 100, sysparm_offset: 0,
sysparm_query: nil, sysparm_fields: nil,
sysparm_display_value: nil, sysparm_exclude_reference_link: nil, **)
params = { sysparm_limit: sysparm_limit, sysparm_offset: sysparm_offset }
params[:sysparm_query] = sysparm_query if sysparm_query
params[:sysparm_fields] = sysparm_fields if sysparm_fields
params[:sysparm_display_value] = sysparm_display_value unless sysparm_display_value.nil?
params[:sysparm_exclude_reference_link] = sysparm_exclude_reference_link unless sysparm_exclude_reference_link.nil?
resp = connection(**).get("/api/now/table/#{table_name}", params)
{ records: resp.body['result'] }
end
|
#table_update(table_name:, sys_id:, **fields) ⇒ Object
38
39
40
41
42
|
# File 'lib/legion/extensions/service_now/table/runners/table.rb', line 38
def table_update(table_name:, sys_id:, **fields)
body = fields.except(:url, :client_id, :client_secret, :token, :username, :password, :sys_id)
resp = connection(**fields).patch("/api/now/table/#{table_name}/#{sys_id}", body)
{ record: resp.body['result'] }
end
|