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
@@ -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