Class: EchoNest::PagedResult

Inherits:
Array
  • Object
show all
Defined in:
lib/echonest/paged_result.rb

Instance Method Summary collapse

Constructor Details

#initialize(results, block, options = {}) ⇒ PagedResult

Returns a new instance of PagedResult.



7
8
9
10
11
12
13
# File 'lib/echonest/paged_result.rb', line 7

def initialize(results, block, options={})
  @results = results
  @update = block
  @page_name = options[:page] || :docs 
  @available = @results.send(@page_name)
  super(@available)
end

Instance Method Details

#[](i) ⇒ Object



25
26
27
28
29
# File 'lib/echonest/paged_result.rb', line 25

def [](i)
  return @available[i] if @available[i]
  next_page
  @available[i]
end

#foundObject



15
16
17
# File 'lib/echonest/paged_result.rb', line 15

def found
  @results.found
end

#next_pageObject



19
20
21
22
23
# File 'lib/echonest/paged_result.rb', line 19

def next_page
  results = @update.call @available.length, 15
  @available += results.send(@page_name)
  self.__setobj__(@available)
end