dm-parse 0.3.14 → 0.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.14
1
+ 0.3.15
data/dm-parse.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "dm-parse"
8
- s.version = "0.3.14"
8
+ s.version = "0.3.15"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Zhi-Qiang Lei"]
12
- s.date = "2012-07-14"
12
+ s.date = "2012-07-25"
13
13
  s.description = "An extension to make DataMapper working on Parse.com"
14
14
  s.email = "zhiqiang.lei@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -207,6 +207,7 @@ module DataMapper
207
207
  translate c, r
208
208
  r
209
209
  end
210
+ when ["0 = 1"] # workaround for cancan
210
211
  else
211
212
  raise NotImplementedError
212
213
  end
@@ -272,9 +273,10 @@ module DataMapper
272
273
  equals = groups[true]
273
274
  others = groups[false]
274
275
 
275
- if equals.present? && others.present?
276
- raise "Parse Query: cannot combine Eql with others"
277
- elsif equals.present?
276
+ # It's such a pity that js query cannot combine equal comparison
277
+ # with other comparisons, but DataMapper will construct query
278
+ # in that way.
279
+ if equals.present?
278
280
  raise "can only use one EqualToComparison for a field" unless equals.size == 1
279
281
  equals.first.as_json
280
282
  elsif others.present?
@@ -102,6 +102,16 @@ describe DataMapper::Adapters::ParseAdapter do
102
102
  end
103
103
  end
104
104
 
105
+ context "when query has :eql and others of one field" do
106
+ let(:query) { model.all(:rank => 5, :rank.gt => 3).query }
107
+ it { should eq("rank" => 5) }
108
+ end
109
+
110
+ context "when query has [\"0 = 1\"]" do
111
+ let(:query) { model.all(conditions: ["0 = 1"]).query }
112
+ it { should eq({}) }
113
+ end
114
+
105
115
  describe "exceptions" do
106
116
  subject { -> { adapter.send :parse_conditions_for, query } }
107
117
 
@@ -109,11 +119,6 @@ describe DataMapper::Adapters::ParseAdapter do
109
119
  let(:query) { (model.all("rank" => 5) & model.all("rank" => 3)).query }
110
120
  it { should raise_error("can only use one EqualToComparison for a field") }
111
121
  end
112
-
113
- context "when query has :eql and others of one field" do
114
- let(:query) { model.all(:rank => 5, :rank.gt => 3).query }
115
- it { should raise_error }
116
- end
117
122
  end # exceptions
118
123
  end # #parse_conditions_for
119
124
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-parse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.14
4
+ version: 0.3.15
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-14 00:00:00.000000000 Z
12
+ date: 2012-07-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: dm-core
@@ -258,7 +258,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
258
258
  version: '0'
259
259
  segments:
260
260
  - 0
261
- hash: 1932617468942195095
261
+ hash: -4398516798532427400
262
262
  required_rubygems_version: !ruby/object:Gem::Requirement
263
263
  none: false
264
264
  requirements: