dm-persevere-adapter 0.37.0 → 0.38.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.37.0
1
+ 0.38.0
@@ -70,7 +70,7 @@ class Persevere
70
70
  response = nil
71
71
  while response.nil?
72
72
  begin
73
- response = @persevere.send_request('POST', path, json_blob, HEADERS.merge(headers))
73
+ response = @persevere.send_request('POST', URI.encode(path), json_blob, HEADERS.merge(headers))
74
74
  rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
75
75
  Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError => e
76
76
  puts "Persevere Create Failed: #{e}, Trying again."
@@ -83,7 +83,7 @@ class Persevere
83
83
  response = nil
84
84
  while response.nil?
85
85
  begin
86
- response = @persevere.send_request('GET', path, nil, HEADERS.merge(headers))
86
+ response = @persevere.send_request('GET', URI.encode(path), nil, HEADERS.merge(headers))
87
87
  rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
88
88
  Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError => e
89
89
  puts "Persevere Retrieve Failed: #{e}, Trying again."
@@ -97,7 +97,7 @@ class Persevere
97
97
  response = nil
98
98
  while response.nil?
99
99
  begin
100
- response = @persevere.send_request('PUT', path, json_blob, HEADERS.merge(headers))
100
+ response = @persevere.send_request('PUT', URI.encode(path), json_blob, HEADERS.merge(headers))
101
101
  rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
102
102
  Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError => e
103
103
  puts "Persevere Create Failed: #{e}, Trying again."
@@ -110,7 +110,7 @@ class Persevere
110
110
  response = nil
111
111
  while response.nil?
112
112
  begin
113
- response = @persevere.send_request('DELETE', path, nil, HEADERS.merge(headers))
113
+ response = @persevere.send_request('DELETE', URI.encode(path), nil, HEADERS.merge(headers))
114
114
  rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
115
115
  Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError => e
116
116
  puts "Persevere Create Failed: #{e}, Trying again."
@@ -357,11 +357,12 @@ module DataMapper
357
357
 
358
358
  resources = Array.new
359
359
  json_query, headers = make_json_query(query)
360
-
360
+
361
361
  tblname = query.model.storage_name
362
362
  path = "/#{tblname}/#{json_query}"
363
-
363
+
364
364
  response = @persevere.retrieve(path, headers)
365
+
365
366
  if response.code.match(/20?/)
366
367
  results = JSON.parse(response.body)
367
368
  results.each do |rsrc_hash|
@@ -376,10 +377,8 @@ module DataMapper
376
377
  end
377
378
  end
378
379
  end
379
-
380
380
  resources = query.model.load(results, query)
381
381
  end
382
-
383
382
  # We could almost elimate this if regexp was working in persevere.
384
383
  query.match_records(resources)
385
384
  end
@@ -637,7 +636,11 @@ module DataMapper
637
636
  inside = process_condition(condition.operand)
638
637
  inside.empty? ? [] : "!(%s)" % inside
639
638
  when DataMapper::Query::Conditions::InclusionComparison then process_in(condition.subject.name, condition.value)
640
- when DataMapper::Query::Conditions::EqualToComparison then condition.to_s.gsub(' ', '').gsub('nil', 'undefined')
639
+ when DataMapper::Query::Conditions::EqualToComparison then
640
+ cond = condition.loaded_value
641
+ cond = 'undefined' if condition.loaded_value.nil?
642
+ cond = "\"#{condition.loaded_value}\"" if condition.loaded_value.is_a?(String)
643
+ "#{condition.subject.name.to_s}=#{cond}"
641
644
  when DataMapper::Query::Conditions::NullOperation then []
642
645
  when Array then
643
646
  old_statement, bind_values = condition
@@ -220,4 +220,27 @@ describe DataMapper::Adapters::PersevereAdapter do
220
220
  Nugaton.auto_migrate_down!
221
221
  end
222
222
  end
223
+
224
+ describe 'finding models' do
225
+ before(:each) do
226
+ Bozon.auto_migrate!
227
+ end
228
+
229
+ it "should find simple strings" do
230
+ Bozon.create(:title => "Story")
231
+ Bozon.all(:title => "Story").length.should eql(1)
232
+ end
233
+
234
+ it "should find strings containing spaces" do
235
+
236
+ Bozon.create(:title => "Name with Space", :author => "Mr. Bean")
237
+ # [?(title = "Name with Space")][/id]
238
+ # debugger
239
+ Bozon.all(:title => "Name with Space").length.should eql(1)
240
+ end
241
+
242
+ after(:all) do
243
+ Bozon.auto_migrate_down!
244
+ end
245
+ end
223
246
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 37
7
+ - 38
8
8
  - 0
9
- version: 0.37.0
9
+ version: 0.38.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ivan R. Judson
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-02-23 00:00:00 -07:00
18
+ date: 2010-02-26 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency