Class: Readiness::Zendesk::SLAs
- Defined in:
- lib/support_readiness/zendesk/sla_policies.rb
Overview
Defines the class SLAs within the module Readiness::Zendesk.
Instance Attribute Summary collapse
- #description ⇒ Object
- #filter ⇒ Object
- #id ⇒ Object
- #metric_settings ⇒ Object
- #policy_metrics ⇒ Object
- #position ⇒ Object
- #title ⇒ Object
Class Method Summary collapse
-
.create!(client, policy) ⇒ Object
Creates a SLA Policy.
-
.delete!(client, policy) ⇒ Boolean
Deletes a SLA Policy.
-
.find(client, sid) ⇒ Hash
Locates a SLA policy within Zendesk.
-
.find!(client, sid) ⇒ Object
Locates a SLA policy within within Zendesk.
-
.list(client) ⇒ Array
Lists the SLA policies.
-
.reorder!(client, pids) ⇒ Boolean
Reorder SLA Policies.
-
.update!(client, policy) ⇒ Object
Updates a SLA Policy.
Instance Method Summary collapse
-
#initialize(object = {}) ⇒ SLAs
constructor
Creates a new SLAs instance.
Methods inherited from Client
auth_error, bad_request_error, convert_actions, convert_conditions, convert_standard_names_to_ids, convert_ticket_form_agent_conditions, convert_ticket_form_brands, convert_ticket_form_end_user_conditions, convert_ticket_form_names_to_ids, convert_view_names_to_ids, convert_view_restrictions, covert_ticket_form_field_ids, create_package!, erb_renderer, handle_request_error, not_found_error, not_processible_error, put_into_archive, recursively_deflate_directory, timestamp_filename, to_clean_json, to_clean_json_with_key, to_hash, to_nearly_clean_json, to_nearly_clean_json_with_key, to_param_string, write_entries
Constructor Details
#initialize(object = {}) ⇒ SLAs
Creates a new Readiness::Zendesk::SLAs instance
24 25 26 27 28 29 30 31 32 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 24 def initialize(object = {}) @description = object['description'] @filter = object['filter'] @id = object['id'] @metric_settings = object['metric_settings'] @policy_metrics = object['policy_metrics'] @position = object['position'] @title = object['title'] end |
Instance Attribute Details
#description ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 13 def description @description end |
#filter ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 13 def filter @filter end |
#id ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 13 def id @id end |
#metric_settings ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 13 def metric_settings @metric_settings end |
#policy_metrics ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 13 def policy_metrics @policy_metrics end |
#position ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 13 def position @position end |
#title ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 13 def title @title end |
Class Method Details
.create!(client, policy) ⇒ Object
Creates a SLA Policy. Will exit if unsuccessful
147 148 149 150 151 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 147 def self.create!(client, policy) response = client.connection.post 'slas/policies', to_clean_json_with_key(policy, 'sla_policy') handle_request_error(1, 'Zendesk', response.status, { action: 'Create SLA Policy', message: Oj.load(response.body)}) unless response.status == 201 SLAs.new(Oj.load(response.body)['sla_policy']) end |
.delete!(client, policy) ⇒ Boolean
Deletes a SLA Policy. Will exit if unsuccessful
200 201 202 203 204 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 200 def self.delete!(client, policy) response = client.connection.delete "slas/policies/#{policy.id}" handle_request_error(1, 'Zendesk', response.status, { action: 'Delete a SLA policy', id: policy.id, message: Oj.load(response.body)}) unless response.status == 204 true end |
.find(client, sid) ⇒ Hash
Locates a SLA policy within Zendesk. This will not exit on error (except Authentication errors)
77 78 79 80 81 82 83 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 77 def self.find(client, sid) response = client.connection.get("slas/policies/#{sid}") handle_request_error(0, 'Zendesk', response.status, { action: 'get', id: sid }) unless response.status == 200 return SLAs.new(Oj.load(response.body)['sla_policy']) if response.status == 200 Oj.load(response.body) end |
.find!(client, sid) ⇒ Object
Locates a SLA policy within within Zendesk. This will exit on error
104 105 106 107 108 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 104 def self.find!(client, sid) response = client.connection.get("slas/policies/#{sid}") handle_request_error(1, 'Zendesk', response.status, { action: 'Find SLA Policy', id: sid }) unless response.status == 200 SLAs.new(Oj.load(response.body)['sla_policy']) end |
.list(client) ⇒ Array
Lists the SLA policies
52 53 54 55 56 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 52 def self.list(client) response = client.connection.get('slas/policies') handle_request_error(0, 'Zendesk', response.status) unless response.status == 200 Oj.load(response.body)['sla_policies'].map { |s| SLAs.new(s) } end |
.reorder!(client, pids) ⇒ Boolean
Reorder SLA Policies. Will exit if unsuccessful
225 226 227 228 229 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 225 def self.reorder!(client, pids) response = client.connection.put 'slas/policies/reorder', { sla_policy_ids: pids }.to_json handle_request_error(1, 'Zendesk', response.status, { action: 'Reorder SLA policies', id: pids, message: Oj.load(response.body)}) unless response.status == 200 true end |
.update!(client, policy) ⇒ Object
Updates a SLA Policy. Will exit if unsuccessful
174 175 176 177 178 |
# File 'lib/support_readiness/zendesk/sla_policies.rb', line 174 def self.update!(client, policy) response = client.connection.put "slas/policies/#{policy.id}", to_clean_json_with_key(policy, 'sla_policy') handle_request_error(1, 'Zendesk', response.status, { action: 'Update SLA Policy', id: policy.id, message: Oj.load(response.body)}) unless response.status == 200 SLAs.new(Oj.load(response.body)['sla_policy']) end |