Class: ZendeskRails::Ticket
- Defined in:
- app/models/zendesk_rails/ticket.rb
Overview
ActiveModel wrapper for submitting tickets to Zendesk
Instance Attribute Summary collapse
-
#ticket ⇒ Object
readonly
Returns the value of attribute ticket.
Attributes inherited from Resource
Class Method Summary collapse
- .belonging_to(email) ⇒ Object
- .find_request(id) ⇒ Object
- .find_ticket(id) ⇒ Object
- .search(conditions = {}) ⇒ Object
Instance Method Summary collapse
-
#create ⇒ Object
Returns ticket from Zendesk’s API, not a ZendeskRails::Ticket.
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
#ticket ⇒ Object (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.) client.search conditions end |
Instance Method Details
#create ⇒ Object
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 |