class Documentation::SearchResult

Attributes

page[RW]
per_page[RW]
query[RW]
raw_results[RW]
results[RW]
time[RW]
total_results[RW]

Public Class Methods

new() click to toggle source
# File lib/documentation/search_result.rb, line 12
def initialize
  @time = nil
  @raw_results = {}
  @page = 1
  @total_pages = 1
  @per_page = nil
end

Public Instance Methods

empty?() click to toggle source

Is the result set empty?

# File lib/documentation/search_result.rb, line 44
def empty?
  self.results.empty?
end
end_result_number() click to toggle source

The number of the last result on the current page

# File lib/documentation/search_result.rb, line 65
def end_result_number
  start_result_number + (results.size) - 1
end
excerpt_for(page) click to toggle source

Return the highlight string for a given page

# File lib/documentation/search_result.rb, line 33
def excerpt_for(page)
  if @raw_results[page.id] && hl = @raw_results[page.id][:highlights]
    ERB::Util.html_escape((hl.join("..."))).gsub('{{{', "<mark>").gsub("}}}", "</mark>").html_safe
  else
    page.content[0,255].gsub(/[\n\r]/, '') + "..."
  end
end
first_page?() click to toggle source

Is this the first page of the result set?

# File lib/documentation/search_result.rb, line 72
def first_page?
  page == 1
end
last_page?() click to toggle source

Is this the last page of the result set?

# File lib/documentation/search_result.rb, line 79
def last_page?
  page == total_pages
end
start_result_number() click to toggle source

The number of the first result on the current page

# File lib/documentation/search_result.rb, line 58
def start_result_number
  ((page - 1) * per_page) + 1
end
total_pages() click to toggle source

The total number of pages in the result set

# File lib/documentation/search_result.rb, line 51
def total_pages
  (total_results / per_page.to_f).ceil
end