Class: GoogleRest::Results

Inherits:
Object
  • Object
show all
Defined in:
lib/google_rest.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw) ⇒ Results

Returns a new instance of Results.



12
13
14
15
16
17
# File 'lib/google_rest.rb', line 12

def initialize(raw)
  self.raw = raw
  data = (raw || {})
  self.cursor = data["cursor"]
  self.results = data["results"] || []
end

Instance Attribute Details

#cursorObject

Returns the value of attribute cursor.



10
11
12
# File 'lib/google_rest.rb', line 10

def cursor
  @cursor
end

#rawObject

Returns the value of attribute raw.



10
11
12
# File 'lib/google_rest.rb', line 10

def raw
  @raw
end

#resultsObject

Returns the value of attribute results.



10
11
12
# File 'lib/google_rest.rb', line 10

def results
  @results
end

Instance Method Details

#eachObject



23
24
25
# File 'lib/google_rest.rb', line 23

def each
  results.each { |r| yield r }
end

#empty?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/google_rest.rb', line 19

def empty?
  raw.blank?
end

#mapObject



27
28
29
# File 'lib/google_rest.rb', line 27

def map
  results.map { |r| yield r }
end

#pageObject



31
32
33
# File 'lib/google_rest.rb', line 31

def page
  cursor["currentPageIndex"].blank? ? 1 : cursor["currentPageIndex"]
end

#pagesObject



35
36
37
# File 'lib/google_rest.rb', line 35

def pages
  (cursor["pages"] || [])
end

#paginated(current_page = nil) ⇒ Object



55
56
57
# File 'lib/google_rest.rb', line 55

def paginated(current_page = nil)
  results.paginate(:page => current_page || page, :per_page => per_page, :total_entries => total_entries)
end

#per_pageObject



51
52
53
# File 'lib/google_rest.rb', line 51

def per_page
  8
end

#total_entriesObject



43
44
45
46
47
48
49
# File 'lib/google_rest.rb', line 43

def total_entries
  if pages.last
    pages.last["start"].to_i + GoogleRest::PER_PAGE - 1
  else
    0
  end
end

#total_pagesObject



39
40
41
# File 'lib/google_rest.rb', line 39

def total_pages
  (cursor["pages"] || []).length
end