Class: LocomotiveGoogleSearch::Liquid::Drops::Search

Inherits:
Liquid::Drop
  • Object
show all
Defined in:
lib/locomotive_google_search/liquid/drops/search.rb

Instance Method Summary collapse

Instance Method Details

#collectionObject



40
41
42
43
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 40

def collection
  @search_object = nil # @collection is cached across requests
  @collection = search_object.results
end

#each(&block) ⇒ Object



18
19
20
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 18

def each(&block)
  self.collection.each(&block)
end

#each_with_index(&block) ⇒ Object



22
23
24
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 22

def each_with_index(&block)
  self.collection.each_with_index(&block)
end

#firstObject



6
7
8
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 6

def first
  self.collection.first
end

#lastObject



14
15
16
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 14

def last
  self.collection.last
end

#next_pageObject



45
46
47
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 45

def next_page
  search_object.next_page
end

#next_page?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 49

def next_page?
  search_object.has_next_page?
end

#optionsObject



30
31
32
33
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 30

def options
  text = @context.registers[:controller].params[:query]
  { term: text, page: page }
end

#pageObject



26
27
28
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 26

def page
  @context.registers[:controller].params[:page] || 1
end

#previous_pageObject



57
58
59
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 57

def previous_page
  search_object.previous_page
end

#previous_page?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 53

def previous_page?
  page != 1
end

#refreshObject



10
11
12
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 10

def refresh
  @search_object = nil
end

#search_objectObject



35
36
37
38
# File 'lib/locomotive_google_search/liquid/drops/search.rb', line 35

def search_object
  return @search_object if @search_object.present?
  @search_object = ::GoogleSearch::Search.new(options)
end