mongoid_query_string_interface 0.6.2 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,38 +1,40 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mongoid_query_string_interface (0.6.2)
4
+ mongoid_query_string_interface (0.7.0)
5
5
  mongoid (>= 2.0.2)
6
- query_string_interface (>= 0.1.0)
6
+ query_string_interface (>= 0.5.0)
7
7
  will_paginate (~> 3.0.pre2)
8
8
 
9
9
  GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
- activemodel (3.0.9)
13
- activesupport (= 3.0.9)
14
- builder (~> 2.1.2)
15
- i18n (~> 0.5.0)
16
- activesupport (3.0.9)
12
+ activemodel (3.2.6)
13
+ activesupport (= 3.2.6)
14
+ builder (~> 3.0.0)
15
+ activesupport (3.2.6)
16
+ i18n (~> 0.6)
17
+ multi_json (~> 1.0)
17
18
  archive-tar-minitar (0.5.2)
18
19
  bson (1.3.1)
19
20
  bson_ext (1.3.1)
20
- builder (2.1.2)
21
+ builder (3.0.0)
21
22
  columnize (0.3.4)
22
23
  database_cleaner (0.6.7)
23
24
  diff-lcs (1.1.2)
24
- i18n (0.5.0)
25
+ i18n (0.6.0)
25
26
  linecache (0.46)
26
27
  rbx-require-relative (> 0.0.4)
27
28
  linecache19 (0.5.12)
28
29
  ruby_core_source (>= 0.1.4)
29
30
  mongo (1.3.1)
30
31
  bson (>= 1.3.1)
31
- mongoid (2.0.2)
32
- activemodel (~> 3.0)
33
- mongo (~> 1.3)
32
+ mongoid (2.4.11)
33
+ activemodel (~> 3.1)
34
+ mongo (<= 1.6.2)
34
35
  tzinfo (~> 0.3.22)
35
- query_string_interface (0.1.0)
36
+ multi_json (1.3.6)
37
+ query_string_interface (0.5.0)
36
38
  activesupport (>= 3.0.0)
37
39
  rake (0.8.7)
38
40
  rbx-require-relative (0.0.5)
@@ -62,8 +64,8 @@ GEM
62
64
  simplecov (0.4.2)
63
65
  simplecov-html (~> 0.4.4)
64
66
  simplecov-html (0.4.5)
65
- tzinfo (0.3.29)
66
- will_paginate (3.0.pre2)
67
+ tzinfo (0.3.33)
68
+ will_paginate (3.0.3)
67
69
 
68
70
  PLATFORMS
69
71
  ruby
@@ -36,7 +36,8 @@ module Mongoid
36
36
  end
37
37
 
38
38
  def filter_only_by(params={})
39
- where(filtering_options(hash_with_indifferent_access(params)))
39
+ params = hash_with_indifferent_access(params)
40
+ where(filtering_options(params)).filter_fields_by(params)
40
41
  end
41
42
 
42
43
  def paginated_collection_with_filter_by(params={})
@@ -48,6 +49,17 @@ module Mongoid
48
49
  build_pager_from(collection)
49
50
  end
50
51
 
52
+ def filter_fields_by(params)
53
+ params = field_filtering_options(hash_with_indifferent_access(params))
54
+ params.present? ? send(*params.first) : criteria
55
+ end
56
+
57
+ def field_filtering_options(params)
58
+ super.tap do |hash|
59
+ hash[:without] = hash.delete(:except) if hash.present?
60
+ end
61
+ end
62
+
51
63
  protected
52
64
  def sorting_options(options)
53
65
  super(options).map do |sort_option|
data/lib/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  module Mongoid #:nodoc
3
3
  module QueryStringInterface #:nodoc
4
- VERSION = "0.6.2"
4
+ VERSION = "0.7.0"
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_query_string_interface
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-28 00:00:00.000000000Z
12
+ date: 2012-06-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: query_string_interface
16
- requirement: &2160890640 !ruby/object:Gem::Requirement
16
+ requirement: &2152719460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.1.0
21
+ version: 0.5.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2160890640
24
+ version_requirements: *2152719460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: will_paginate
27
- requirement: &2160890160 !ruby/object:Gem::Requirement
27
+ requirement: &2152718980 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.0.pre2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2160890160
35
+ version_requirements: *2152718980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: mongoid
38
- requirement: &2160889680 !ruby/object:Gem::Requirement
38
+ requirement: &2152718500 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.0.2
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *2160889680
46
+ version_requirements: *2152718500
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &2160889200 !ruby/object:Gem::Requirement
49
+ requirement: &2152718020 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.3.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2160889200
57
+ version_requirements: *2152718020
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: database_cleaner
60
- requirement: &2160918400 !ruby/object:Gem::Requirement
60
+ requirement: &2152717540 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 0.5.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2160918400
68
+ version_requirements: *2152717540
69
69
  description: Gives a method that can parse query string parameters into a set of criterias
70
70
  that Mongoid can use to perform actual queries in MongoDB databases for a given
71
71
  model.