dm-parse 0.3.7 → 0.3.8

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.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: