Class: PostProxy::Resources::Queues
- Inherits:
-
Object
- Object
- PostProxy::Resources::Queues
- Defined in:
- lib/postproxy/resources/queues.rb
Instance Method Summary collapse
- #create(name, profile_group_id:, description: nil, timezone: nil, jitter: nil, timeslots: nil) ⇒ Object
- #delete(id) ⇒ Object
- #get(id) ⇒ Object
-
#initialize(client) ⇒ Queues
constructor
A new instance of Queues.
- #list(profile_group_id: nil) ⇒ Object
- #next_slot(id) ⇒ Object
- #update(id, name: nil, description: nil, timezone: nil, enabled: nil, jitter: nil, timeslots: nil) ⇒ Object
Constructor Details
#initialize(client) ⇒ Queues
Returns a new instance of Queues.
4 5 6 |
# File 'lib/postproxy/resources/queues.rb', line 4 def initialize(client) @client = client end |
Instance Method Details
#create(name, profile_group_id:, description: nil, timezone: nil, jitter: nil, timeslots: nil) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/postproxy/resources/queues.rb', line 24 def create(name, profile_group_id:, description: nil, timezone: nil, jitter: nil, timeslots: nil) post_queue = { name: name } post_queue[:description] = description if description post_queue[:timezone] = timezone if timezone post_queue[:jitter] = jitter unless jitter.nil? post_queue[:queue_timeslots_attributes] = timeslots if timeslots json_body = { profile_group_id: profile_group_id, post_queue: post_queue, } result = @client.request(:post, "/post_queues", json: json_body) Queue.new(**result) end |
#delete(id) ⇒ Object
55 56 57 58 |
# File 'lib/postproxy/resources/queues.rb', line 55 def delete(id) result = @client.request(:delete, "/post_queues/#{id}") DeleteResponse.new(**result) end |
#get(id) ⇒ Object
14 15 16 17 |
# File 'lib/postproxy/resources/queues.rb', line 14 def get(id) result = @client.request(:get, "/post_queues/#{id}") Queue.new(**result) end |
#list(profile_group_id: nil) ⇒ Object
8 9 10 11 12 |
# File 'lib/postproxy/resources/queues.rb', line 8 def list(profile_group_id: nil) result = @client.request(:get, "/post_queues", profile_group_id: profile_group_id) queues = (result[:data] || []).map { |q| Queue.new(**q) } ListResponse.new(data: queues) end |
#next_slot(id) ⇒ Object
19 20 21 22 |
# File 'lib/postproxy/resources/queues.rb', line 19 def next_slot(id) result = @client.request(:get, "/post_queues/#{id}/next_slot") NextSlotResponse.new(**result) end |
#update(id, name: nil, description: nil, timezone: nil, enabled: nil, jitter: nil, timeslots: nil) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/postproxy/resources/queues.rb', line 40 def update(id, name: nil, description: nil, timezone: nil, enabled: nil, jitter: nil, timeslots: nil) post_queue = {} post_queue[:name] = name unless name.nil? post_queue[:description] = description unless description.nil? post_queue[:timezone] = timezone unless timezone.nil? post_queue[:enabled] = enabled unless enabled.nil? post_queue[:jitter] = jitter unless jitter.nil? post_queue[:queue_timeslots_attributes] = timeslots if timeslots json_body = { post_queue: post_queue } result = @client.request(:patch, "/post_queues/#{id}", json: json_body) Queue.new(**result) end |