mordor-auditing 0.0.12 → 0.0.13
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/Gemfile.lock +1 -1
- data/auditing.gemspec +1 -1
- data/lib/auditing/request.rb +16 -6
- data/spec/auditing/request_spec.rb +33 -1
- metadata +3 -3
data/Gemfile.lock
CHANGED
data/auditing.gemspec
CHANGED
data/lib/auditing/request.rb
CHANGED
@@ -36,20 +36,30 @@ module Auditing
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
def self.find_by_url_parts(params = {})
|
40
|
-
|
41
|
-
|
42
|
-
|
39
|
+
def self.find_by_url_parts(params = {}, options = {})
|
40
|
+
query = {}
|
41
|
+
if parts_value = params.delete(:value)
|
42
|
+
query = params_to_query_params(parts_value).merge(params)
|
43
|
+
else
|
44
|
+
query = params_to_query_params(params)
|
43
45
|
end
|
44
|
-
|
46
|
+
col = perform_collection_find(query, options)
|
47
|
+
Mordor::Collection.new(self, col)
|
45
48
|
end
|
46
49
|
|
47
50
|
private
|
48
|
-
|
49
51
|
def self.collection_name
|
50
52
|
'audit_requests'
|
51
53
|
end
|
52
54
|
|
55
|
+
def self.params_to_query_params(hash)
|
56
|
+
result = {}
|
57
|
+
hash.each do |key, value|
|
58
|
+
result["url_parts.#{key}"] = value
|
59
|
+
end
|
60
|
+
result
|
61
|
+
end
|
62
|
+
|
53
63
|
def url_to_parts(url)
|
54
64
|
result = {}
|
55
65
|
if url
|
@@ -282,7 +282,7 @@ describe "with respect to auditing requests" do
|
|
282
282
|
request.url_parts.keys.should_not include "week"
|
283
283
|
end
|
284
284
|
|
285
|
-
it "should
|
285
|
+
it "should correctly retrieve requests based on parts of the url" do
|
286
286
|
options = {
|
287
287
|
:url => '/week/2011-9/staffing_agencies/1234/customers/12/arrangements/123',
|
288
288
|
:method => 'get',
|
@@ -331,7 +331,39 @@ describe "with respect to auditing requests" do
|
|
331
331
|
|
332
332
|
match = (results.first._id == request._id || results.first._id == request2._id)
|
333
333
|
match.should be_true
|
334
|
+
end
|
335
|
+
|
336
|
+
it "should be possible to add extra query parts to the url_parts query" do
|
337
|
+
options = {
|
338
|
+
:url => '/week/2011-9/staffing_agencies/1234/customers/12/arrangements/123',
|
339
|
+
:method => 'get',
|
340
|
+
:params => {:test_param1 => '1', :test_param2 => '2'},
|
341
|
+
:user_id => 4,
|
342
|
+
:real_user_id => 5,
|
343
|
+
:at => Time.now
|
344
|
+
}
|
345
|
+
request = Auditing::Request.new(options)
|
346
|
+
request.save.should be_true
|
347
|
+
|
348
|
+
options2 = {
|
349
|
+
:url => '/week/2011-9/staffing_agencies/13/customers/124/arrangements/123',
|
350
|
+
:method => 'get',
|
351
|
+
:params => {:test_param1 => '1', :test_param2 => '2'},
|
352
|
+
:user_id => 3,
|
353
|
+
:real_user_id => 5,
|
354
|
+
:at => Time.now
|
355
|
+
}
|
356
|
+
request2 = Auditing::Request.new(options2)
|
357
|
+
request2.save.should be_true
|
334
358
|
|
359
|
+
search_options = {
|
360
|
+
:week => "2011-9"
|
361
|
+
}
|
362
|
+
results = Auditing::Request.find_by_url_parts(search_options)
|
363
|
+
results.size.should == 2
|
364
|
+
|
365
|
+
results = Auditing::Request.find_by_url_parts({:value => search_options, :user_id => 4})
|
366
|
+
results.size.should == 1
|
335
367
|
end
|
336
368
|
end
|
337
369
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mordor-auditing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 13
|
10
|
+
version: 0.0.13
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jan-Willem Koelewijn
|