dm-parse 0.3.7 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.7
1
+ 0.3.8
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.7"
8
+ s.version = "0.3.8"
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-04"
12
+ s.date = "2012-07-05"
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 = [
@@ -36,6 +36,10 @@ module DataMapper
36
36
  response = engine.read storage_name, params
37
37
 
38
38
  response["results"]
39
+ rescue NotImplementedError
40
+ log :error, "Unsupported Query:"
41
+ log :error, " Model: #{model}"
42
+ log :error, " Conditions: #{query.conditions}"
39
43
  end
40
44
 
41
45
  # Read the "count" from Parse
@@ -165,7 +169,13 @@ module DataMapper
165
169
 
166
170
  result = {}
167
171
  translate(conditions, result)
168
- finalize result
172
+ result_for_parse = finalize result
173
+
174
+ log :info, "Translating query on #{query.model}:"
175
+ log :info, " from: #{query.conditions}"
176
+ log :info, " to: #{result_for_parse.to_json}"
177
+
178
+ result_for_parse
169
179
  end
170
180
 
171
181
  def translate(condition, result)
@@ -272,6 +282,10 @@ module DataMapper
272
282
  end
273
283
  end
274
284
 
285
+ def log(level, message)
286
+ DataMapper.logger.send level, "[dm-parse][#{level}] #{message}"
287
+ end
288
+
275
289
  end
276
290
 
277
291
  const_added(:ParseAdapter)
@@ -20,7 +20,13 @@ describe DataMapper::Adapters::ParseAdapter do
20
20
 
21
21
  context "when query assigns some exact values" do
22
22
  let(:query) { model.all(:id => "z", :title => "x", :body => "y").query }
23
+
23
24
  it { should eq("objectId" => "z", "title" => "x", "body" => "y") }
25
+
26
+ it "should log translation info" do
27
+ DataMapper.logger.should_receive(:info).with(an_instance_of(String)).exactly(3).times
28
+ adapter.send :parse_conditions_for, query
29
+ end
24
30
  end
25
31
 
26
32
  [:gt, :gte, :lt, :lte].each do |slug|
@@ -167,6 +173,7 @@ describe DataMapper::Adapters::ParseAdapter do
167
173
  describe "#parse_params_for" do
168
174
  subject { adapter.send :parse_params_for, query }
169
175
  let(:query) { model.all.query }
176
+
170
177
  it { should eq(:limit => 1000) }
171
178
 
172
179
  context "when limit is given" do
@@ -190,4 +197,13 @@ describe DataMapper::Adapters::ParseAdapter do
190
197
  end
191
198
  end # #parse_params_for
192
199
 
200
+ describe "#read" do
201
+ let(:query) { model.all.query }
202
+
203
+ it "should log error" do
204
+ DataMapper.logger.should_receive(:error).with(an_instance_of(String)).exactly(3).times
205
+ adapter.stub(:parse_params_for) { raise NotImplementedError }
206
+ adapter.read query
207
+ end
208
+ end
193
209
  end
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.7
4
+ version: 0.3.8
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-04 00:00:00.000000000 Z
12
+ date: 2012-07-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: dm-core
@@ -242,7 +242,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
242
242
  version: '0'
243
243
  segments:
244
244
  - 0
245
- hash: -1860376599775651579
245
+ hash: 3602608103859692141
246
246
  required_rubygems_version: !ruby/object:Gem::Requirement
247
247
  none: false
248
248
  requirements: