Class: Sendara::MessagePage

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/sendara/message_page.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(messages:, next_cursor: nil) ⇒ MessagePage

Returns a new instance of MessagePage.



9
10
11
12
# File 'lib/sendara/message_page.rb', line 9

def initialize(messages:, next_cursor: nil)
  @messages = messages
  @next_cursor = next_cursor
end

Instance Attribute Details

#messagesObject (readonly)

Returns the value of attribute messages.



7
8
9
# File 'lib/sendara/message_page.rb', line 7

def messages
  @messages
end

#next_cursorObject (readonly)

Returns the value of attribute next_cursor.



7
8
9
# File 'lib/sendara/message_page.rb', line 7

def next_cursor
  @next_cursor
end

Class Method Details

.from_response(response) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/sendara/message_page.rb', line 14

def self.from_response(response)
  response ||= {}
  raw = response["messages"]
  messages = raw.is_a?(Array) ? raw : []
  cursor = response["next_cursor"]
  cursor = nil unless cursor.is_a?(String) && !cursor.empty?

  new(messages: messages, next_cursor: cursor)
end

Instance Method Details

#each(&block) ⇒ Object



24
25
26
27
28
# File 'lib/sendara/message_page.rb', line 24

def each(&block)
  return enum_for(:each) unless block_given?

  messages.each(&block)
end

#has_more?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/sendara/message_page.rb', line 30

def has_more?
  !next_cursor.nil?
end