class NCMB::DataStore
Attributes
path[RW]
Public Class Methods
new(name, fields = {}, alc = "")
click to toggle source
# File lib/ncmb/data_store.rb, line 9 def initialize(name, fields = {}, alc = "") @name = name @alc = alc @fields = fields @search_key = :where @queries = {} @queries[@search_key] = [] @items = nil @path = nil end
Public Instance Methods
[](count)
click to toggle source
# File lib/ncmb/data_store.rb, line 73 def [](count) get[count] end
columns()
click to toggle source
# File lib/ncmb/data_store.rb, line 29 def columns @fields.keys end
count()
click to toggle source
# File lib/ncmb/data_store.rb, line 63 def count @queries[:count] = 1 self end
delete_all()
click to toggle source
# File lib/ncmb/data_store.rb, line 121 def delete_all max = 1000 dataStore = NCMB::DataStore.new(@name) count = dataStore.limit(max).count().all if count == 0 return true end dataStore.queries.delete :count dataStore.each do |item| begin item.delete if item.deletable? rescue puts "Can't delete #{item.objectId}" end end if count > max return delete_all end true end
each(&block)
click to toggle source
# File lib/ncmb/data_store.rb, line 41 def each(&block) get.each(&block) end
each_with_index(&block)
click to toggle source
# File lib/ncmb/data_store.rb, line 45 def each_with_index(&block) get.each_with_index(&block) end
error()
click to toggle source
# File lib/ncmb/data_store.rb, line 21 def error @error end
first()
click to toggle source
# File lib/ncmb/data_store.rb, line 54 def first get.first end
get()
click to toggle source
# File lib/ncmb/data_store.rb, line 90 def get # return @items unless @items.nil? results = @@client.get path, @queries return [] unless results if results[:error] && results[:error] != "" @error = results raise NCMB::FetchError end if @queries[:count] == 1 return results[:count] end @items = [] results[:results].each do |result| result.each do |key, field| if field.is_a?(Hash) && field[:__type] == 'GeoPoint' result[key] = NCMB::GeoPoint.new(field[:latitude], field[:longitude]) end if field.is_a?(Hash) && field[:__type] == 'Date' result[key] = Time.parse(field[:iso]) end end @items << NCMB::Object.new(@name, result) end @items end
Also aliased as: all
limit(count)
click to toggle source
# File lib/ncmb/data_store.rb, line 58 def limit(count) @queries[:limit] = count self end
method_missing(name)
click to toggle source
# File lib/ncmb/data_store.rb, line 33 def method_missing(name) if @fields[name.to_sym] return @fields[name.to_sym] else raise NoMethodError, "#{name} is not found" end end
new(opt = {})
click to toggle source
# File lib/ncmb/data_store.rb, line 25 def new opt = {} NCMB::Object.new @name, opt end
order(field)
click to toggle source
# File lib/ncmb/data_store.rb, line 49 def order(field) @queries[:order] = field self end
queries()
click to toggle source
# File lib/ncmb/data_store.rb, line 117 def queries @queries end
skip(count)
click to toggle source
# File lib/ncmb/data_store.rb, line 68 def skip(count) @queries[:skip] = count self end