mongoid 2.4.12 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: