class SolveBio::ListObject
Public Instance Methods
[](k)
click to toggle source
Calls superclass method
# File lib/solvebio/list_object.rb, line 3 def [](k) case k when String, Symbol super else raise ArgumentError.new("ListObject types only support String keys. Try: #data[#{k.inspect}])") end end
all(params={})
click to toggle source
# File lib/solvebio/list_object.rb, line 17 def all(params={}) resp = Client.request('get', url, {:params => params}) Util.to_solve_object(resp) end
at(i)
click to toggle source
# File lib/solvebio/list_object.rb, line 43 def at(i) self.to_a[i] end
create(params={})
click to toggle source
# File lib/solvebio/list_object.rb, line 22 def create(params={}) resp = Client.request('post', url, {:params => params}) Util.to_solve_object(resp) end
each(*pass) { |at| ... }
click to toggle source
# File lib/solvebio/list_object.rb, line 67 def each(*pass) return self unless block_given? i = 0 ary = self.dup done = false until done if i >= ary.data.size ary = next_page break unless ary i = 0 end yield(ary.at(i)) i += 1 end return self end
first()
click to toggle source
# File lib/solvebio/list_object.rb, line 84 def first self.data[0] end
next_page(params={})
click to toggle source
# File lib/solvebio/list_object.rb, line 27 def next_page(params={}) if self.links.next resp = Client.request('get', self.links.next, {:params => params}) Util.to_solve_object(resp) end return nil end
prev_page(params={})
click to toggle source
# File lib/solvebio/list_object.rb, line 35 def prev_page(params={}) if self.links.prev resp = Client.request('get', self.links.prev, {:params => params}) Util.to_solve_object(resp) end return nil end
retrieve(id)
click to toggle source
# File lib/solvebio/list_object.rb, line 12 def retrieve(id) response = Client.request('get', "#{url}/#{id}") Util.to_solve_object(response) end
size()
click to toggle source
# File lib/solvebio/list_object.rb, line 47 def size self[:total] end
Also aliased as: total
to_a()
click to toggle source
# File lib/solvebio/list_object.rb, line 52 def to_a return Util.to_solve_object(self.data) end
to_s()
click to toggle source
Calls superclass method
# File lib/solvebio/list_object.rb, line 56 def to_s if self.data[0] and self.data[0].class.constants.member?(:LIST_FIELDS) # Tabulate the result list fields, headers = self.data[0].class::LIST_FIELDS items = self.data.map { |item| fields.map{ |field| item[field] } } return "\n" + Tabulate.tabulate(items, headers) end super end
Also aliased as: inspect