mongoid 2.4.12 → 2.5.0

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.
@@ -3,6 +3,23 @@
3
3
  For instructions on upgrading to newer versions, visit
4
4
  [mongoid.org](http://mongoid.org/docs/upgrading.html).
5
5
 
6
+ ## 2.5.0
7
+
8
+ ### New Features
9
+
10
+ * This is a release to support the 1.7.0 and higher Mongo and BSON gems and
11
+ resolves issues that kept the 2.4.x series locked below 1.6.2
12
+
13
+ ## 2.4.13
14
+
15
+ ### Resolved Issues
16
+
17
+ * \#2240 Ensure `Criteria#safely` and `Criteria#unsafely` raise errors since
18
+ the calls must happen before the criteria is created.
19
+
20
+ * \#2167 Return nil when trying to set array fields with empty strings to
21
+ protect from blank form fields.
22
+
6
23
  ## 2.4.12
7
24
 
8
25
  ### Resolved Issues
@@ -247,6 +247,7 @@ module Mongoid #:nodoc:
247
247
  #
248
248
  # @return [ true, false ] If the criteria responds to the method.
249
249
  def respond_to?(name, include_private = false)
250
+ return false if [ :safely, :unsafely ].include?(name)
250
251
  # don't include klass private methods because method_missing won't call them
251
252
  super || @klass.respond_to?(name) || entries.respond_to?(name, include_private)
252
253
  end
@@ -377,6 +378,7 @@ module Mongoid #:nodoc:
377
378
  # Used for chaining +Criteria+ scopes together in the for of class methods
378
379
  # on the +Document+ the criteria is for.
379
380
  def method_missing(name, *args, &block)
381
+ super if [ :safely, :unsafely ].include?(name)
380
382
  if @klass.respond_to?(name)
381
383
  @klass.send(:with_scope, self) do
382
384
  @klass.send(name, *args, &block)
@@ -65,7 +65,8 @@ module Mongoid #:nodoc:
65
65
  #
66
66
  # @since 2.1.0
67
67
  def raise_or_return(value)
68
- unless value.nil? || value.is_a?(::Array)
68
+ return nil if value.nil? || value == ""
69
+ unless value.is_a?(::Array)
69
70
  raise Mongoid::Errors::InvalidType.new(::Array, value)
70
71
  end
71
72
  value
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Mongoid #:nodoc
3
- VERSION = "2.4.12"
3
+ VERSION = "2.5.0"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.12
4
+ version: 2.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-12 00:00:00.000000000 Z
12
+ date: 2012-09-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -48,17 +48,17 @@ dependencies:
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - <=
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 1.6.2
53
+ version: '1.7'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - <=
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 1.6.2
61
+ version: '1.7'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: bson_ext
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '1.3'
69
+ version: '1.7'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,7 +74,7 @@ dependencies:
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: '1.3'
77
+ version: '1.7'
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: mocha
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -429,7 +429,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
429
429
  version: '0'
430
430
  segments:
431
431
  - 0
432
- hash: 1387804886696110534
432
+ hash: 2191788509716055350
433
433
  required_rubygems_version: !ruby/object:Gem::Requirement
434
434
  none: false
435
435
  requirements: