lib/parse/query.rb in parse-ruby-client-0.1.9 vs lib/parse/query.rb in parse-ruby-client-0.1.10

- old
+ new

@@ -8,10 +8,11 @@ attr_accessor :order_by attr_accessor :order attr_accessor :limit attr_accessor :skip attr_accessor :count + attr_accessor :include def initialize(cls_name) @class_name = cls_name @where = {} @order = :ascending @@ -27,10 +28,15 @@ where[field] = constraint end end #private :add_constraint + def includes(class_name) + @includes = class_name + self + end + def or(query) raise ArgumentError, "you must pass an entire #{self.class} to \#or" unless query.is_a?(self.class) @ors << query self end @@ -83,26 +89,15 @@ def exists(field, value = true) add_constraint field, { "$exists" => value } self end - def in_query(field, query) + def in_query(field, query=nil) query_hash = {Parse::Protocol::KEY_CLASS_NAME => query.class_name, "where" => query.where} add_constraint(field, "$inQuery" => query_hash) self end - - def set_limit(num) - @limit = num - self - end - - def set_order(field, order = :ascending) - @order_by = field - @order = order - self - end def count @count = true self end @@ -118,15 +113,12 @@ def get uri = Protocol.class_uri @class_name if @class_name == Parse::Protocol::CLASS_USER uri = Protocol.user_uri end - - query = { "where" => CGI.escape(where_as_json.to_json) } set_order(query) - [:count, :limit, :skip].each {|a| merge_attribute(a, query)} - + [:count, :limit, :skip, :include].each {|a| merge_attribute(a, query)} response = Parse.client.request uri, :get, nil, query Parse.parse_json class_name, response end private \ No newline at end of file