class Factual::Query::Base
Attributes
action[R]
params[R]
path[R]
Public Class Methods
new(api, params)
click to toggle source
# File lib/factual/query/base.rb, line 6 def initialize(api, params) @api = api @params = params end
Public Instance Methods
[](index)
click to toggle source
# File lib/factual/query/base.rb, line 21 def [](index) rows[index] end
data()
click to toggle source
# File lib/factual/query/base.rb, line 25 def data response["data"] end
each(&block)
click to toggle source
# File lib/factual/query/base.rb, line 13 def each(&block) rows.each { |row| block.call(row) } end
full_path()
click to toggle source
TODO move to Multiable module, and support multi writes
# File lib/factual/query/base.rb, line 43 def full_path @api.full_path(@action, @path, @params) end
last()
click to toggle source
# File lib/factual/query/base.rb, line 17 def last rows.last end
populate(query_response)
click to toggle source
# File lib/factual/query/base.rb, line 47 def populate(query_response) @response = query_response end
rows()
click to toggle source
# File lib/factual/query/base.rb, line 29 def rows data end
schema()
click to toggle source
# File lib/factual/query/base.rb, line 38 def schema @schema ||= @api.schema(self) end
total_count()
click to toggle source
# File lib/factual/query/base.rb, line 33 def total_count resp = @api.get(self, :include_count => true, :limit => 1) resp["total_row_count"] end
Private Instance Methods
form_value(args)
click to toggle source
# File lib/factual/query/base.rb, line 53 def form_value(args) args = args.map { |arg| arg.is_a?(String) ? arg.strip : arg } args.length == 1 ? args.first : args.join(',') end
response()
click to toggle source
# File lib/factual/query/base.rb, line 58 def response @response ||= @api.get(self) end