Skip to content

Commit ca1c953

Browse files
committed
Set#merge does not take keyword arguments as a Hash
1 parent c022676 commit ca1c953

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

lib/set.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,7 @@ def select!(&block)
598598

599599
# Merges the elements of the given enumerable objects to the set and
600600
# returns self.
601-
def merge(*enums)
601+
def merge(*enums, **nil)
602602
enums.each do |enum|
603603
if enum.instance_of?(self.class)
604604
@hash.update(enum.instance_variable_get(:@hash))

set.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
88
spec.description = %q{Provides a class to deal with collections of unordered, unique values}
99
spec.homepage = "https://github.com/ruby/set"
1010
spec.licenses = ["Ruby", "BSD-2-Clause"]
11-
spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
11+
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
1212

1313
spec.metadata["homepage_uri"] = spec.homepage
1414
spec.metadata["source_code_uri"] = spec.homepage

test/test_set.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,10 @@ def test_merge
600600
ret = set.merge([2,4,6], Set[4,5,6])
601601
assert_same(set, ret)
602602
assert_equal(Set[1,2,3,4,5,6], set)
603+
604+
assert_raise(ArgumentError) {
605+
Set[].merge(a: 1)
606+
}
603607
end
604608

605609
def test_subtract

0 commit comments

Comments
 (0)