summaryrefslogtreecommitdiff
path: root/lib/set.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/set.rb')
-rw-r--r--lib/set.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/set.rb b/lib/set.rb
index d405d81178..844d52ed54 100644
--- a/lib/set.rb
+++ b/lib/set.rb
@@ -136,10 +136,18 @@ class Set
@hash = orig.instance_variable_get(:@hash).dup
end
- # Clone internal hash.
- def initialize_clone(orig, freeze: nil)
- super
- @hash = orig.instance_variable_get(:@hash).clone(freeze: freeze)
+ if Kernel.instance_method(:initialize_clone).arity != 1
+ # Clone internal hash.
+ def initialize_clone(orig, **options)
+ super
+ @hash = orig.instance_variable_get(:@hash).clone(**options)
+ end
+ else
+ # Clone internal hash.
+ def initialize_clone(orig)
+ super
+ @hash = orig.instance_variable_get(:@hash).clone
+ end
end
def freeze # :nodoc: