Class: Zendesk2::GetViewTickets
- Inherits:
-
Object
- Object
- Zendesk2::GetViewTickets
show all
- Includes:
- Request
- Defined in:
- lib/zendesk2/get_view_tickets.rb
Instance Attribute Summary
Attributes included from Request
#params
Instance Method Summary
collapse
Methods included from Request
#call, cistern_included, #data, #delete!, #error!, #find!, #html_url_for, included, #mock_response, #page, #page_params!, #page_params?, #pluralize, #real, #real_request, #request_body, #request_params, #request_path, #resources, #response, #timestamp, #url_for
Instance Method Details
#mock(_params = {}) ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/zendesk2/get_view_tickets.rb', line 14
def mock(_params = {})
view = find!(:views, view_id)
operators = Array(view['conditions']['all']).map do |c|
operator = 'is' == c.fetch('operator') ? :eql? : :!=
key = c.fetch('field')
value = c.fetch('value').to_s
[operator, key, value]
end
tickets = operators.inject(data[:tickets].values) do |r, (o, k, v)|
r.select { |t| t[k].to_s.public_send(o, v) }
end
any_operators = Array(view['conditions']['any']).map do |c|
operator = 'is' == c.fetch('operator') ? :eql? : :!=
key = c.fetch('field')
value = c.fetch('value').to_s
[operator, key, value]
end
any_operators.any? &&
tickets.select! { |t| any_operators.find { |(o, k, v)| t[k].to_s.public_send(o, v) } }
page(tickets, root: 'tickets')
end
|
#view_id ⇒ Object
10
11
12
|
# File 'lib/zendesk2/get_view_tickets.rb', line 10
def view_id
params.fetch('view_id').to_i
end
|