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
@@ -1,4 +1,4 @@
1
1
  module CFoundry # :nodoc:
2
2
  # CFoundry library version number.
3
- VERSION = "4.6.1".freeze
3
+ VERSION = "4.6.2".freeze
4
4
  end
@@ -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.1
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-05 00:00:00.000000000 Z
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: 3720116799213538688
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: 3720116799213538688
480
+ hash: -1196192211870274107
480
481
  requirements: []
481
482
  rubyforge_project: cfoundry
482
483
  rubygems_version: 1.8.25