Skip to content

Commit 66bd54d

Browse files
johnnyshieldsjamis
andauthored
MONGOID-5664 [Monkey Patch Removal] Remove Object#__setter__ monkey-patch (#5707)
* Remove Object#__setter__ monkey-patch. This is a trivial method so I've just inlined it. (It was already inlined in several other places.) * deprecate __setter__ instead of removing it --------- Co-authored-by: Jamis Buck <[email protected]>
1 parent ccb519c commit 66bd54d

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

lib/mongoid/association/relatable.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def get_callbacks(callback_type)
8181
#
8282
# @return [ String ] The type setter method.
8383
def type_setter
84-
@type_setter ||= type.__setter__
84+
@type_setter ||= "#{type}=" if type
8585
end
8686

8787
# Whether trying to bind an object using this association should raise
@@ -233,7 +233,7 @@ def path(document)
233233
#
234234
# @return [ String ] The name of the setter.
235235
def inverse_type_setter
236-
@inverse_type_setter ||= inverse_type.__setter__
236+
@inverse_type_setter ||= "#{inverse_type}=" if inverse_type
237237
end
238238

239239
# Get the name of the method to check if the foreign key has changed.

lib/mongoid/extensions/nil_class.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@
33

44
module Mongoid
55
module Extensions
6-
76
# Adds type-casting behavior to NilClass.
87
module NilClass
9-
108
# Try to form a setter from this object.
119
#
1210
# @example Try to form a setter.
1311
# object.__setter__
1412
#
1513
# @return [ nil ] Always nil.
14+
# @deprecated
1615
def __setter__
1716
self
1817
end
18+
Mongoid.deprecate(self, :__setter__)
1919

2020
# Get the name of a nil collection.
2121
#
@@ -30,4 +30,4 @@ def collectionize
3030
end
3131
end
3232

33-
::NilClass.__send__(:include, Mongoid::Extensions::NilClass)
33+
NilClass.include Mongoid::Extensions::NilClass

lib/mongoid/extensions/object.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,11 @@ def __mongoize_time__
5050
# object.__setter__
5151
#
5252
# @return [ String ] The object as a string plus =.
53+
# @deprecated
5354
def __setter__
5455
"#{self}="
5556
end
57+
Mongoid.deprecate(self, :__setter__)
5658

5759
# Get the value of the object as a mongo friendly sort value.
5860
#

0 commit comments

Comments
 (0)