Class: Eurydice::ColumnPage
- Inherits:
-
Object
- Object
- Eurydice::ColumnPage
show all
- Includes:
- Enumerable
- Defined in:
- lib/eurydice/column_page.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(column_family, row_key, page_size, offset = FIRST_OFFSET) ⇒ ColumnPage
Returns a new instance of ColumnPage.
9
10
11
12
13
14
|
# File 'lib/eurydice/column_page.rb', line 9
def initialize(column_family, row_key, page_size, offset=FIRST_OFFSET)
@column_family = column_family
@row_key = row_key
@offset = offset
@page_size = page_size
end
|
Instance Attribute Details
#page_size ⇒ Object
Returns the value of attribute page_size.
7
8
9
|
# File 'lib/eurydice/column_page.rb', line 7
def page_size
@page_size
end
|
Instance Method Details
#each_column(&block) ⇒ Object
Also known as:
each
46
47
48
49
50
51
|
# File 'lib/eurydice/column_page.rb', line 46
def each_column(&block)
return self unless block_given?
slice.each.with_index do |item,i|
yield item if i < @page_size
end
end
|
#first? ⇒ Boolean
34
35
36
|
# File 'lib/eurydice/column_page.rb', line 34
def first?
@offset == FIRST_OFFSET
end
|
#last? ⇒ Boolean
38
39
40
|
# File 'lib/eurydice/column_page.rb', line 38
def last?
slice.size <= @page_size
end
|
#next_page ⇒ Object
24
25
26
27
|
# File 'lib/eurydice/column_page.rb', line 24
def next_page
return nil if last?
ForwardColumnPage.new(@column_family, @row_key, @page_size, next_page_offset)
end
|
#offset ⇒ Object
16
17
18
19
20
21
22
|
# File 'lib/eurydice/column_page.rb', line 16
def offset
if @offset == FIRST_OFFSET
slice.keys.first
else
@offset
end
end
|
#prev_page ⇒ Object
29
30
31
32
|
# File 'lib/eurydice/column_page.rb', line 29
def prev_page
return nil if first?
ReverseColumnPage.new(@column_family, @row_key, @page_size, prev_page_offset)
end
|
#reverse? ⇒ Boolean
42
43
44
|
# File 'lib/eurydice/column_page.rb', line 42
def reverse?
false
end
|