Class: Sink::Page

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/sink/page.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(records:, cursor: nil, complete: true) ⇒ Page

Returns a new instance of Page.



9
10
11
12
13
# File 'lib/sink/page.rb', line 9

def initialize(records:, cursor: nil, complete: true)
  @records = records.freeze
  @cursor = cursor
  @complete = complete
end

Instance Attribute Details

#cursorObject (readonly)

Returns the value of attribute cursor.



7
8
9
# File 'lib/sink/page.rb', line 7

def cursor
  @cursor
end

#recordsObject (readonly)

Returns the value of attribute records.



7
8
9
# File 'lib/sink/page.rb', line 7

def records
  @records
end

Instance Method Details

#[](index) ⇒ Object



26
# File 'lib/sink/page.rb', line 26

def [](index) = @records[index]

#complete?Boolean

Returns:

  • (Boolean)


17
# File 'lib/sink/page.rb', line 17

def complete? = !!@complete

#eachObject



15
# File 'lib/sink/page.rb', line 15

def each(&) = @records.each(&)

#empty?Boolean

Returns:

  • (Boolean)


24
# File 'lib/sink/page.rb', line 24

def empty? = @records.empty?

#inspectObject



30
# File 'lib/sink/page.rb', line 30

def inspect = "#<#{self.class} size=#{size} cursor=#{cursor.inspect} complete=#{complete?}>"

#more?Boolean

Returns:

  • (Boolean)


19
# File 'lib/sink/page.rb', line 19

def more? = !complete? && !cursor.nil?

#sizeObject Also known as: length



21
# File 'lib/sink/page.rb', line 21

def size = @records.size

#to_aObject



28
# File 'lib/sink/page.rb', line 28

def to_a = @records.dup