Method: Enumerable#sole
- Defined in:
- activesupport/lib/active_support/core_ext/enumerable.rb
#sole ⇒ Object
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
211 212 213 214 215 216 217 |
# File 'activesupport/lib/active_support/core_ext/enumerable.rb', line 211 def sole case count when 1 then return first # rubocop:disable Style/RedundantReturn when 0 then raise ActiveSupport::EnumerableCoreExt::SoleItemExpectedError, "no item found" when 2.. then raise ActiveSupport::EnumerableCoreExt::SoleItemExpectedError, "multiple items found" end end |