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 +1 -1
- data/lib/persevere.rb +4 -4
- data/lib/persevere_adapter.rb +8 -5
- data/spec/persevere_adapter_spec.rb +23 -0
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.38.0
|
data/lib/persevere.rb
CHANGED
@@ -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."
|
data/lib/persevere_adapter.rb
CHANGED
@@ -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
|
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
|
-
-
|
7
|
+
- 38
|
8
8
|
- 0
|
9
|
-
version: 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-
|
18
|
+
date: 2010-02-26 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|