Class: Readiness::Zendesk::TicketUserTypes

Inherits:
Client
  • Object
show all
Defined in:
lib/support_readiness/zendesk/ticket_user_types.rb

Overview

Defines the class TicketUserTypes within the module Readiness::Zendesk.

Author:

  • Jason Colyer

Since:

  • 1.0.107

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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 = {}) ⇒ TicketUserTypes

Creates a new Readiness::Zendesk::TicketUserTypes instance

Examples:

require 'support_readiness'
Readiness::Zendesk::TicketUserTypes.new

Parameters:

Author:

  • Jason Colyer

Since:

  • 1.0.107



24
25
26
27
# File 'lib/support_readiness/zendesk/ticket_user_types.rb', line 24

def initialize(object = {})
  @id = object['id']
  @name = object['name']
end

Instance Attribute Details

#idObject

Since:

  • 1.0.107



13
14
15
# File 'lib/support_readiness/zendesk/ticket_user_types.rb', line 13

def id
  @id
end

#nameObject

Since:

  • 1.0.107



13
14
15
# File 'lib/support_readiness/zendesk/ticket_user_types.rb', line 13

def name
  @name
end

Class Method Details

.find_by_name(client, name) ⇒ Object

Locates a ticket user type within Zendesk by name. If not found, will assume a user email (and will exit on error)

Examples:

require 'support_readiness'
config = Readiness::Zendesk::Configuration.new
config.username = 'alice@example.com'
config.token = 'test123abc'
config.url = 'https://example.zendesk.com/api/v2'
client = Readiness::Zendesk::Client.new(config)
type = Readiness::Zendesk::TicketUserTypes.find_by_name(client, 'Agent')
pp type.id
# => 4
type = Readiness::Zendesk::TicketUserTypes.find_by_name(client, 'jcolyer@gitlab.com')
pp type.id
# => 12345

Parameters:

  • name (String)

    The ticket user type name to look for

Returns:

Author:

  • Jason Colyer

Since:

  • 1.0.107



68
69
70
71
72
73
74
75
76
77
# File 'lib/support_readiness/zendesk/ticket_user_types.rb', line 68

def self.find_by_name(client, name)
  type = TicketUserTypes.list.detect { |r| r.name == name }
  if type.nil?
    search = Search.users(client, "email:#{name}")
    if search.count == 1
      type = TicketUserTypes.new({ 'id' => search.first.id, 'name' => search.first.email })
    end
  end
  type
end

.listArray

Lists ticket user types

Examples:

require 'support_readiness'
types = Readiness::Zendesk::TicketUserTypes.list
pp types.first.name
# => "Agent"

Parameters:

  • client (Object)

    An instance of Client

Returns:

  • (Array)

Author:

  • Jason Colyer

Since:

  • 1.0.107



41
42
43
44
45
46
# File 'lib/support_readiness/zendesk/ticket_user_types.rb', line 41

def self.list
  [
    { 'id' => 'agent', 'name' => 'Agent' },
    { 'id' => 'end_user', 'name' => 'End User' }
  ].map { |r| TicketUserTypes.new(r) }
end