Class: ROM::Solr::SelectDataset
- Inherits:
-
Dataset
- Object
- HTTP::Dataset
- Dataset
- ROM::Solr::SelectDataset
show all
- Defined in:
- lib/rom/solr/datasets/select_dataset.rb
Instance Method Summary
collapse
Methods inherited from Dataset
#add_param_values, #add_params, #default_params, #enumerable_response, #param?, #response, #with_enum_on, #with_params, #with_path
Instance Method Details
#cursor_mark ⇒ Object
21
22
23
|
# File 'lib/rom/solr/datasets/select_dataset.rb', line 21
def cursor_mark
params[:cursorMark]
end
|
#each ⇒ Object
9
10
11
12
13
14
15
|
# File 'lib/rom/solr/datasets/select_dataset.rb', line 9
def each
while true
enumerable_response.each { |doc| yield(doc) }
break if last_page?
update_cursor_mark
end
end
|
#last_cursor? ⇒ Boolean
33
34
35
|
# File 'lib/rom/solr/datasets/select_dataset.rb', line 33
def last_cursor?
cursor_mark == next_cursor_mark
end
|
#last_page? ⇒ Boolean
41
42
43
|
# File 'lib/rom/solr/datasets/select_dataset.rb', line 41
def last_page?
one_page? || last_cursor?
end
|
#next_cursor_mark ⇒ Object
25
26
27
|
# File 'lib/rom/solr/datasets/select_dataset.rb', line 25
def next_cursor_mark
response['nextCursorMark']
end
|
#num_found ⇒ Object
17
18
19
|
# File 'lib/rom/solr/datasets/select_dataset.rb', line 17
def num_found
response.dig('response', 'numFound')
end
|
#one_page? ⇒ Boolean
37
38
39
|
# File 'lib/rom/solr/datasets/select_dataset.rb', line 37
def one_page?
num_found <= page_size
end
|
#page_size ⇒ Object
29
30
31
|
# File 'lib/rom/solr/datasets/select_dataset.rb', line 29
def page_size
params[:rows]
end
|