instance method
sole
Ruby on Rails 7.2.3
Since v7.0.10Signature
sole()
Returns the sole item in the enumerable. If there are no items, or more than one item, raises Enumerable::SoleItemExpectedError.
["x"].sole # => "x" Set.new.sole # => Enumerable::SoleItemExpectedError: no item found { a: 1, b: 2 }.sole # => Enumerable::SoleItemExpectedError: multiple items found
Source
# File activesupport/lib/active_support/core_ext/enumerable.rb, line 206
def sole
result = nil
found = false
each do |*element|
if found
raise SoleItemExpectedError, "multiple items found"
end
result = element.size == 1 ? element[0] : element
found = true
end
if found
result
else
raise SoleItemExpectedError, "no item found"
end
end
Defined in activesupport/lib/active_support/core_ext/enumerable.rb line 206
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Enumerable