cfoundry 4.6.1 → 4.6.2
Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,7 @@ require "cfoundry/v2/model_magic/to_one"
|
|
6
6
|
require "cfoundry/v2/model_magic/to_many"
|
7
7
|
require "cfoundry/v2/model_magic/queryable_by"
|
8
8
|
require "cfoundry/v2/model_magic/query_value_helper"
|
9
|
+
require "cfoundry/v2/model_magic/query_multi_value_helper"
|
9
10
|
|
10
11
|
module CFoundry::V2
|
11
12
|
# object name -> module containing query methods
|
@@ -120,6 +121,8 @@ module CFoundry::V2
|
|
120
121
|
"#{key}#{qv}"
|
121
122
|
when QueryValue
|
122
123
|
"#{key}#{value}"
|
124
|
+
when QueryMultiValue
|
125
|
+
value.collect_values(key)
|
123
126
|
else
|
124
127
|
"#{key}:#{value}"
|
125
128
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module CFoundry::V2
|
2
|
+
module ModelMagic
|
3
|
+
module QueryValueHelper
|
4
|
+
class QueryMultiValue
|
5
|
+
attr_accessor :query_values
|
6
|
+
|
7
|
+
def initialize(*query_hashes)
|
8
|
+
self.query_values = query_hashes.collect do |query_hash|
|
9
|
+
QueryValue.new query_hash
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def collect_values(key)
|
14
|
+
query_values.collect do |value|
|
15
|
+
"#{key}#{value}"
|
16
|
+
end.join(';')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/cfoundry/version.rb
CHANGED
@@ -24,6 +24,11 @@ module CFoundry
|
|
24
24
|
params = ModelMagic.params_from({query: {key1: ModelMagic::QueryValue.new(comparator: '>=', value:'value1'), key2: 'value2', key3: ['value3a', 'value3b']}})
|
25
25
|
expect(params[:q]).to eq("key1>=value1;key2:value2;key3 IN value3a,value3b")
|
26
26
|
end
|
27
|
+
|
28
|
+
it "filters by multiple QueryValues" do
|
29
|
+
params = ModelMagic.params_from({query: {key: ModelMagic::QueryMultiValue.new({comparator: '>', value: 'value1'},{comparator: '<', value: 'value2'})}})
|
30
|
+
expect(params[:q]).to eq("key>value1;key<value2")
|
31
|
+
end
|
27
32
|
end
|
28
33
|
end
|
29
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfoundry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.6.
|
4
|
+
version: 4.6.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-11-
|
13
|
+
date: 2013-11-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activemodel
|
@@ -308,6 +308,7 @@ files:
|
|
308
308
|
- lib/cfoundry/v2/model_magic/attribute.rb
|
309
309
|
- lib/cfoundry/v2/model_magic/client_extensions.rb
|
310
310
|
- lib/cfoundry/v2/model_magic/has_summary.rb
|
311
|
+
- lib/cfoundry/v2/model_magic/query_multi_value_helper.rb
|
311
312
|
- lib/cfoundry/v2/model_magic/query_value_helper.rb
|
312
313
|
- lib/cfoundry/v2/model_magic/queryable_by.rb
|
313
314
|
- lib/cfoundry/v2/model_magic/to_many.rb
|
@@ -467,7 +468,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
467
468
|
version: '0'
|
468
469
|
segments:
|
469
470
|
- 0
|
470
|
-
hash:
|
471
|
+
hash: -1196192211870274107
|
471
472
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
472
473
|
none: false
|
473
474
|
requirements:
|
@@ -476,7 +477,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
476
477
|
version: '0'
|
477
478
|
segments:
|
478
479
|
- 0
|
479
|
-
hash:
|
480
|
+
hash: -1196192211870274107
|
480
481
|
requirements: []
|
481
482
|
rubyforge_project: cfoundry
|
482
483
|
rubygems_version: 1.8.25
|