Class: ROM::Solr::SelectDataset

Inherits:
Dataset
  • Object
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_markObject



21
22
23
# File 'lib/rom/solr/datasets/select_dataset.rb', line 21

def cursor_mark
  params[:cursorMark]
end

#eachObject



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

Returns:

  • (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

Returns:

  • (Boolean)


41
42
43
# File 'lib/rom/solr/datasets/select_dataset.rb', line 41

def last_page?
  one_page? || last_cursor?
end

#next_cursor_markObject



25
26
27
# File 'lib/rom/solr/datasets/select_dataset.rb', line 25

def next_cursor_mark
  response['nextCursorMark']
end

#num_foundObject



17
18
19
# File 'lib/rom/solr/datasets/select_dataset.rb', line 17

def num_found
  response.dig('response', 'numFound')
end

#one_page?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/rom/solr/datasets/select_dataset.rb', line 37

def one_page?
  num_found <= page_size
end

#page_sizeObject



29
30
31
# File 'lib/rom/solr/datasets/select_dataset.rb', line 29

def page_size
  params[:rows]
end