Class: Zm::Client::MessagesCollection

Inherits:
Base::ObjectsCollection show all
Defined in:
lib/zm/client/message/messages_collection.rb

Overview

Collection Messages

Constant Summary

Constants inherited from Base::ObjectsCollection

Base::ObjectsCollection::METHODS_MISSING_LIST

Instance Attribute Summary collapse

Attributes inherited from Base::ObjectsCollection

#parent

Instance Method Summary collapse

Methods inherited from Base::ObjectsCollection

#all!, #attrs, #build_from_entry, #count, #first, #method_missing, #order, #page, #per_page, #respond_to_missing?

Constructor Details

#initialize(parent) ⇒ MessagesCollection

Returns a new instance of MessagesCollection.



9
10
11
12
13
# File 'lib/zm/client/message/messages_collection.rb', line 9

def initialize(parent)
  @parent = parent
  @more = true
  reset_query_params
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Zm::Client::Base::ObjectsCollection

Instance Attribute Details

#moreObject

Returns the value of attribute more.



7
8
9
# File 'lib/zm/client/message/messages_collection.rb', line 7

def more
  @more
end

Instance Method Details

#allObject



61
62
63
# File 'lib/zm/client/message/messages_collection.rb', line 61

def all
  build_response
end

#end_at(end_at) ⇒ Object



36
37
38
39
# File 'lib/zm/client/message/messages_collection.rb', line 36

def end_at(end_at)
  @end_at = end_at
  self
end

#find(id) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/zm/client/message/messages_collection.rb', line 16

def find(id)
  rep = @parent.sacc.get_msg(@parent.token, id, { part: 0 })
  entry = rep[:Body][:GetMsgResponse][:m].first
  # puts entry
  msg = Message.new(@parent)
  msg.init_from_json(entry)
  msg
end

#folder_ids(folder_ids) ⇒ Object



47
48
49
50
# File 'lib/zm/client/message/messages_collection.rb', line 47

def folder_ids(folder_ids)
  @folder_ids = folder_ids
  self
end

#folders(folders) ⇒ Object



41
42
43
44
45
# File 'lib/zm/client/message/messages_collection.rb', line 41

def folders(folders)
  @folders = folders
  @folder_ids = @folders.map(&:id)
  self
end

#idsObject



57
58
59
# File 'lib/zm/client/message/messages_collection.rb', line 57

def ids
  search_builder.ids
end

#new {|message| ... } ⇒ Object

Yields:

  • (message)


25
26
27
28
29
# File 'lib/zm/client/message/messages_collection.rb', line 25

def new
  message = Message.new(@parent)
  yield(message) if block_given?
  message
end

#start_at(start_at) ⇒ Object



31
32
33
34
# File 'lib/zm/client/message/messages_collection.rb', line 31

def start_at(start_at)
  @start_at = start_at
  self
end

#where(query) ⇒ Object



52
53
54
55
# File 'lib/zm/client/message/messages_collection.rb', line 52

def where(query)
  @query = query
  self
end