Class: Readiness::Zendesk::TicketForms
- Defined in:
- lib/support_readiness/zendesk/ticket_forms.rb
Overview
Defines the class TicketForms within the module Readiness::Zendesk.
Instance Attribute Summary collapse
- #active ⇒ Object
- #agent_conditions ⇒ Object
- #default ⇒ Object
- #display_name ⇒ Object
- #end_user_conditions ⇒ Object
- #end_user_visible ⇒ Object
- #id ⇒ Object
- #in_all_brands ⇒ Object
- #name ⇒ Object
- #position ⇒ Object
- #raw_display_name ⇒ Object
- #restricted_brand_ids ⇒ Object
- #ticket_field_ids ⇒ Object
Class Method Summary collapse
-
.clone!(client, form) ⇒ Object
Clones a ticket form.
-
.create!(client, form) ⇒ Object
Creates a ticket form.
-
.delete!(client, form) ⇒ Object
Deletes a ticket form.
-
.find(client, fid) ⇒ Hash
Locates a ticket form within Zendesk.
-
.find!(client, fid) ⇒ Hash
Locates aa ticket form within Zendesk.
-
.find_by_name(client, name, cache = nil) ⇒ Object
Locates a ticket form within Zendesk by name.
-
.find_by_name!(client, name) ⇒ Object
Locates a ticket field within Zendesk by name.
-
.find_many(client, fids) ⇒ Array
Locates up to 100 ticket forms within Zendesk.
-
.list(client) ⇒ Array
Lists the first 100 ticket forms.
-
.reorder!(client, fids) ⇒ Array
Reorders the ticket forms.
-
.update!(client, form) ⇒ Object
Updates a ticket form.
Instance Method Summary collapse
-
#clean_conditions(conditions) ⇒ Hash
Removes unneeded values from the conditions variable on a TicketForms object.
-
#initialize(object = {}) ⇒ TicketForms
constructor
Creates a new TicketForms 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 = {}) ⇒ TicketForms
Creates a new Readiness::Zendesk::TicketForms instance
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 24 def initialize(object = {}) @active = object['active'] @agent_conditions = clean_conditions(object['agent_conditions']) @default = object['default'] @display_name = object['display_name'] @end_user_conditions = clean_conditions(object['end_user_conditions']) @end_user_visible = object['end_user_visible'] @id = object['id'] @in_all_brands = object['in_all_brands'] @name = object['name'] @position = object['position'] @raw_display_name = object['raw_display_name'] @restricted_brand_ids = object['restricted_brand_ids'] @ticket_field_ids = object['ticket_field_ids'] end |
Instance Attribute Details
#active ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def active @active end |
#agent_conditions ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def agent_conditions @agent_conditions end |
#default ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def default @default end |
#display_name ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def display_name @display_name end |
#end_user_conditions ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def end_user_conditions @end_user_conditions end |
#end_user_visible ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def end_user_visible @end_user_visible end |
#id ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def id @id end |
#in_all_brands ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def in_all_brands @in_all_brands end |
#name ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def name @name end |
#position ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def position @position end |
#raw_display_name ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def raw_display_name @raw_display_name end |
#restricted_brand_ids ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def restricted_brand_ids @restricted_brand_ids end |
#ticket_field_ids ⇒ Object
13 14 15 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 13 def ticket_field_ids @ticket_field_ids end |
Class Method Details
.clone!(client, form) ⇒ Object
Clones a ticket form. Will exit if unsuccessful
326 327 328 329 330 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 326 def self.clone!(client, form) response = client.connection.post "ticket_forms/#{form.id}/clone", { prepend_clone_title: true }.to_json handle_request_error(1, 'Zendesk', response.status, { action: 'Clone a ticket form', id: form.id, message: Oj.load(response.body)}) unless response.status == 200 TicketForms.new(Oj.load(response.body)['ticket_form']) end |
.create!(client, form) ⇒ Object
Creates a ticket form. Will exit if unsuccessful
240 241 242 243 244 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 240 def self.create!(client, form) response = client.connection.post 'ticket_forms', to_clean_json_with_key(form, 'ticket_form') handle_request_error(1, 'Zendesk', response.status, { action: 'Create ticket form', message: Oj.load(response.body)}) unless response.status == 201 TicketForms.new(Oj.load(response.body)['ticket_form']) end |
.delete!(client, form) ⇒ Object
Deletes a ticket form. Will exit if unsuccessful
300 301 302 303 304 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 300 def self.delete!(client, form) response = client.connection.delete "ticket_forms/#{form.id}" handle_request_error(1, 'Zendesk', response.status, { action: 'Delete a ticket form', id: form.id, message: Oj.load(response.body)}) unless response.status == 204 true end |
.find(client, fid) ⇒ Hash
Locates a ticket form within Zendesk. This will not exit on error (except Authentication errors)
98 99 100 101 102 103 104 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 98 def self.find(client, fid) response = client.connection.get("ticket_forms/#{fid}") handle_request_error(0, 'Zendesk', response.status, { action: 'get', id: oid }) unless response.status == 200 return TicketForms.new(Oj.load(response.body)['ticket_form']) if response.status == 200 Oj.load(response.body) end |
.find!(client, fid) ⇒ Hash
Locates aa ticket form within Zendesk. This will exit on error
125 126 127 128 129 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 125 def self.find!(client, fid) response = client.connection.get("ticket_forms/#{fid}") handle_request_error(1, 'Zendesk', response.status, { action: 'Find ticket form', id: fid }) unless response.status == 200 TicketForms.new(Oj.load(response.body)['ticket_form']) end |
.find_by_name(client, name, cache = nil) ⇒ Object
Locates a ticket form within Zendesk by name. Can utilize a cacheh for quicker results
175 176 177 178 179 180 181 182 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 175 def self.find_by_name(client, name, cache = nil) forms = if cache.nil? TicketForms.list(client) else cache end forms.detect { |f| f.name == name } end |
.find_by_name!(client, name) ⇒ Object
Locates a ticket field within Zendesk by name. This will exit on error
202 203 204 205 206 207 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 202 def self.find_by_name!(client, name) forms = TicketForms.list(client) form = forms.detect { |f| f.name == name } handle_request_error(1, 'Zendesk', 404, { action: 'Find ticket form', id: name }) if form.nil? form end |
.find_many(client, fids) ⇒ Array
Locates up to 100 ticket forms within Zendesk.
150 151 152 153 154 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 150 def self.find_many(client, fids) response = client.connection.get("ticket_forms/show_many?ids=#{fids.join(',')}") handle_request_error(0, 'Zendesk', response.status, { action: 'get', id: fids }) unless response.status == 200 Oj.load(response.body)['ticket_forms'].map { |f| TicketForms.new(f) } end |
.list(client) ⇒ Array
Lists the first 100 ticket forms
73 74 75 76 77 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 73 def self.list(client) response = client.connection.get('ticket_forms') handle_request_error(0, 'Zendesk', response.status) unless response.status == 200 Oj.load(response.body)['ticket_forms'].map { |f| TicketForms.new(f) } end |
.reorder!(client, fids) ⇒ Array
Reorders the ticket forms. Will exit if unsuccessful
352 353 354 355 356 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 352 def self.reorder!(client, fids) response = client.connection.put 'ticket_forms/reorder', { ticket_form_ids: fids }.to_json handle_request_error(1, 'Zendesk', response.status, { action: 'Clone a ticket form', id: form.id, message: Oj.load(response.body)}) unless response.status == 200 Oj.load(response.body)['ticket_form'].map { |f| TicketForms.new(f) } end |
.update!(client, form) ⇒ Object
Updates a ticket form. Will exit if unsuccessful
274 275 276 277 278 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 274 def self.update!(client, form) response = client.connection.put "ticket_forms/#{form.id}", to_clean_json_with_key(form, 'ticket_form') handle_request_error(1, 'Zendesk', response.status, { action: 'Update ticket form', message: Oj.load(response.body)}) unless response.status == 200 TicketForms.new(Oj.load(response.body)['ticket_form']) end |
Instance Method Details
#clean_conditions(conditions) ⇒ Hash
Removes unneeded values from the conditions variable on a Readiness::Zendesk::TicketForms object
47 48 49 50 51 52 53 |
# File 'lib/support_readiness/zendesk/ticket_forms.rb', line 47 def clean_conditions(conditions) return nil if conditions.nil? return [] if conditions.count.zero? conditions.map { |c| c.delete('parent_field_type') } conditions end |