Class: Zm::Client::MtaQueuesCollection

Inherits:
Base::ObjectsCollection show all
Defined in:
lib/zm/client/mta_queue/mta_queues_collection.rb

Overview

Collection MtaQueues

Constant Summary collapse

METHODS_MISSING_LIST =
%i[select each map length].to_set.freeze

Instance Attribute Summary

Attributes inherited from Base::ObjectsCollection

#parent

Instance Method Summary collapse

Methods inherited from Base::ObjectsCollection

#build_from_entry, #first, #logger, #new, #order, #page, #per_page

Constructor Details

#initialize(parent) ⇒ MtaQueuesCollection

Returns a new instance of MtaQueuesCollection.



9
10
11
12
# File 'lib/zm/client/mta_queue/mta_queues_collection.rb', line 9

def initialize(parent)
  @parent = parent
  reset_query_params
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/zm/client/mta_queue/mta_queues_collection.rb', line 45

def method_missing(method, *args, &block)
  if METHODS_MISSING_LIST.include?(method)
    build_response.send(method, *args, &block)
  else
    super
  end
end

Instance Method Details

#allObject



14
15
16
# File 'lib/zm/client/mta_queue/mta_queues_collection.rb', line 14

def all
  @all ||= all!
end

#all!Object



18
19
20
# File 'lib/zm/client/mta_queue/mta_queues_collection.rb', line 18

def all!
  build_response
end

#defaultsObject



22
23
24
# File 'lib/zm/client/mta_queue/mta_queues_collection.rb', line 22

def defaults
  @all || defaults!
end

#defaults!Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/zm/client/mta_queue/mta_queues_collection.rb', line 26

def defaults!
  # queues = []
  Zm::Client::MtaQueueName::ALL.each do |queue_name|
    queue = MtaQueue.new(@parent)
    queue.name = queue_name
    set_dynamic_queue_method(queue)
    @queues_h[queue_name] = queue
    # queues << queue
  end
  # @all = queues
  @all = @queues_h.values
end

#find(queue_name) ⇒ Object

Raises:



39
40
41
42
43
# File 'lib/zm/client/mta_queue/mta_queues_collection.rb', line 39

def find(queue_name)
  raise ZmError, 'Unknown queue name' unless Zm::Client::MtaQueueName::ALL.include?(queue_name)
  all! if @queues_h.empty?
  @queues_h[queue_name]
end

#respond_to_missing?(method) ⇒ Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/zm/client/mta_queue/mta_queues_collection.rb', line 53

def respond_to_missing?(method, *)
  METHODS_MISSING_LIST.include?(method) || super
end