Class: ZendeskRails::Ticket

Inherits:
Resource show all
Defined in:
app/models/zendesk_rails/ticket.rb

Overview

ActiveModel wrapper for submitting tickets to Zendesk

Instance Attribute Summary collapse

Attributes inherited from Resource

#attributes

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

has_fields, #initialize, #method_missing, #persisted?, resource_not_found!, #respond_to_missing?

Constructor Details

This class inherits a constructor from ZendeskRails::Resource

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ZendeskRails::Resource

Instance Attribute Details

#ticketObject (readonly)

Returns the value of attribute ticket.



4
5
6
# File 'app/models/zendesk_rails/ticket.rb', line 4

def ticket
  @ticket
end

Class Method Details

.belonging_to(email) ⇒ Object



36
37
38
# File 'app/models/zendesk_rails/ticket.rb', line 36

def belonging_to(email)
  search query: { requester: email }
end

.find_request(id) ⇒ Object



40
41
42
# File 'app/models/zendesk_rails/ticket.rb', line 40

def find_request(id)
  client.requests.find(id: id) || resource_not_found!(id)
end

.find_ticket(id) ⇒ Object



44
45
46
# File 'app/models/zendesk_rails/ticket.rb', line 44

def find_ticket(id)
  client.tickets.find(id: id) || resource_not_found!(id)
end

.search(conditions = {}) ⇒ Object



30
31
32
33
34
# File 'app/models/zendesk_rails/ticket.rb', line 30

def search(conditions = {})
  conditions[:query] = to_query(conditions[:query])
  conditions.merge!(config.ticket_list_options)
  client.search conditions
end

Instance Method Details

#createObject

Returns ticket from Zendesk’s API, not a ZendeskRails::Ticket



10
11
12
13
14
15
16
17
# File 'app/models/zendesk_rails/ticket.rb', line 10

def create
  return unless valid?
  @ticket = client.tickets.create({
    subject: subject,
    comment: { value: body },
    requester: requester
  }.merge(config.ticket_create_params))
end