Class: Zm::Client::MtaQueueItemsCollection

Inherits:
Base::ObjectsCollection show all
Defined in:
lib/zm/client/mta_queue_item/mta_queue_items_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, #find, #first, #logger, #new, #order, #page, #per_page

Constructor Details

#initialize(parent) ⇒ MtaQueueItemsCollection

Returns a new instance of MtaQueueItemsCollection.



9
10
11
12
# File 'lib/zm/client/mta_queue_item/mta_queue_items_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



69
70
71
72
73
74
75
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 69

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



22
23
24
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 22

def all
  @all ||= all!
end

#all!Object



26
27
28
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 26

def all!
  build_response
end

#delete!Object



61
62
63
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 61

def delete!
  do_action(Zm::Client::MtaQueueAction::DELETE)
end

#do_action(action_name) ⇒ Object



49
50
51
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 49

def do_action(action_name)
  sac.mail_queue_action(server.name, mta_queue.name, action_name, ids)
end

#fromdomain(value) ⇒ Object



35
36
37
38
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 35

def fromdomain(value)
  @fields[:fromdomain] = value
  self
end

#hold!Object



53
54
55
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 53

def hold!
  do_action(Zm::Client::MtaQueueAction::HOLD)
end

#idsObject



45
46
47
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 45

def ids
  all.map(&:id)
end

#mta_queueObject



14
15
16
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 14

def mta_queue
  parent
end

#release!Object



57
58
59
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 57

def release!
  do_action(Zm::Client::MtaQueueAction::RELEASE)
end

#requeue!Object



65
66
67
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 65

def requeue!
  do_action(Zm::Client::MtaQueueAction::REQUEUE)
end

#respond_to_missing?(method) ⇒ Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 77

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

#serverObject



18
19
20
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 18

def server
  mta_queue.parent
end

#todomain(value) ⇒ Object



40
41
42
43
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 40

def todomain(value)
  @fields[:todomain] = value
  self
end

#where(fields) ⇒ Object



30
31
32
33
# File 'lib/zm/client/mta_queue_item/mta_queue_items_collection.rb', line 30

def where(fields)
  @fields = fields
  self
end