class NCMB::DataStore
Public Class Methods
new(name, fields = {}, alc = "")
click to toggle source
# File lib/ncmb/data_store.rb, line 5 def initialize(name, fields = {}, alc = "") @@name = name @@alc = alc @@fields = fields @@queries = {} @@items = nil end
Public Instance Methods
[](count)
click to toggle source
# File lib/ncmb/data_store.rb, line 74 def [](count) return @@items[count] unless @@items.nil? get(@@queries)[count] end
call(name)
click to toggle source
# File lib/ncmb/data_store.rb, line 25 def call(name) @@fields[name.to_sym] || NoMethod end
columns()
click to toggle source
# File lib/ncmb/data_store.rb, line 13 def columns @@fields.keys end
count(count)
click to toggle source
# File lib/ncmb/data_store.rb, line 52 def count(count) @@queries[:count] = count self end
each(&block)
click to toggle source
# File lib/ncmb/data_store.rb, line 29 def each(&block) @@items.each(&block) end
each_with_index(&block)
click to toggle source
# File lib/ncmb/data_store.rb, line 33 def each_with_index(&block) @@items.each_with_index(&block) end
first()
click to toggle source
# File lib/ncmb/data_store.rb, line 42 def first return @@items.first unless @@items.nil? get(@@queries).first end
get(queries = {})
click to toggle source
# File lib/ncmb/data_store.rb, line 79 def get(queries = {}) path = "/#{@@client.api_version}/classes/#{@@name}" results = @@client.get path, queries return [] unless results if results[:error] && results[:error] != "" @@error = results raise 'error' end items = [] results[:results].each do |result| alc = result[:acl] result.delete(:acl) items << NCMB::DataStore.new(@@name, result, alc) end @@items = items end
limit(count)
click to toggle source
# File lib/ncmb/data_store.rb, line 47 def limit(count) @@queries[:limit] = count self end
method_missing(name)
click to toggle source
# File lib/ncmb/data_store.rb, line 17 def method_missing(name) if @@fields[name.to_sym] return @@fields[name.to_sym] else raise NoMethod, "#{name} is not found" end end
order(field)
click to toggle source
# File lib/ncmb/data_store.rb, line 37 def order(field) @@queries[:order] = field self end
post(queries = {})
click to toggle source
# File lib/ncmb/data_store.rb, line 96 def post(queries = {}) path = "/#{@client.api_version}/classes/#{@@name}" result = @client.post path, queries NCMB::DataStore.new(client, name, result) end
skip(count)
click to toggle source
# File lib/ncmb/data_store.rb, line 57 def skip(count) @@queries[:skip] = count self end
where(params = {})
click to toggle source
# File lib/ncmb/data_store.rb, line 62 def where(params = {}) @@queries[:where] = [] unless @@queries[:where] if params.size == 1 @@queries[:where] << params else params.each do |hash| @@queries[:where] << hash end end self end