cfoundry 4.6.1 → 4.6.2
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.
@@ -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
|