Class: Readiness::Zendesk::SatisfactionReasons

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

Overview

TODO:

Find methods

Defines the class SatisfactionReasons 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 = {}) ⇒ SatisfactionReasons

Examples:

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

Parameters:

Author:

  • Jason Colyer

Since:

  • 1.0.107



25
26
27
28
29
30
# File 'lib/support_readiness/zendesk/satisfaction_reasons.rb', line 25

def initialize(object = {})
  @id = object['id']
  @raw_value = object['raw_value']
  @reason_code = object['reason_code']
  @value = object['value']
end

Instance Attribute Details

#idObject

Since:

  • 1.0.107



14
15
16
# File 'lib/support_readiness/zendesk/satisfaction_reasons.rb', line 14

def id
  @id
end

#raw_valueObject

Since:

  • 1.0.107



14
15
16
# File 'lib/support_readiness/zendesk/satisfaction_reasons.rb', line 14

def raw_value
  @raw_value
end

#reason_codeObject

Since:

  • 1.0.107



14
15
16
# File 'lib/support_readiness/zendesk/satisfaction_reasons.rb', line 14

def reason_code
  @reason_code
end

#valueObject

Since:

  • 1.0.107



14
15
16
# File 'lib/support_readiness/zendesk/satisfaction_reasons.rb', line 14

def value
  @value
end

Class Method Details

.find_by_name(client, value, cache = nil) ⇒ Object

Locates a satisfaction reason within Zendesk by name. Can utilize a cache for quicker results

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)
reason = Readiness::Zendesk::SatisfactionReasons.find_by_name!(client, 'Agent did not respond quickly')
pp reason.reason_code
# => 1003
list = Readiness::Zendesk::SatisfactionReasons.list(client)
reason = Readiness::Zendesk::Schedules.find_by_name(client, 'Agent did not respond quickly', list)
pp reason.reason_code
# => 1003

Parameters:

  • client (Object)

    An instance of Client

  • value (String)

    The satisfaction reason value to look for

  • cache (Array) (defaults to: nil)

    The results of #list

Returns:

Author:

  • Jason Colyer

Since:

  • 1.0.107



80
81
82
83
84
85
86
87
# File 'lib/support_readiness/zendesk/satisfaction_reasons.rb', line 80

def self.find_by_name(client, value, cache = nil)
  list = if cache.nil?
    SatisfactionReasons.list(client)
  else
    cache
  end
  list.detect { |c| c.value == value }
end

.list(client) ⇒ Array

Lists satisfaction reasons

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)
reasons = Readiness::Zendesk::SatisfactionReasons.list(client)
pp reasons.first.reason_code
# => 1003

Parameters:

  • client (Object)

    An instance of Client

Returns:

  • (Array)

See Also:

Author:

  • Jason Colyer

Since:

  • 1.0.107



50
51
52
53
54
55
# File 'lib/support_readiness/zendesk/satisfaction_reasons.rb', line 50

def self.list(client)
  response = client.connection.get 'satisfaction_reasons'
  handle_request_error(0, 'Zendesk', response.status) unless response.status == 200
  body = Oj.load(response.body)
  body['satisfaction_reasons'].map { |t| SatisfactionReasons.new(t)}
end