Skip to content

Instantly share code, notes, and snippets.

@HarlemSquirrel
Created November 8, 2021 16:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HarlemSquirrel/f579dde8d4541577d61a46c3eb229fac to your computer and use it in GitHub Desktop.
Save HarlemSquirrel/f579dde8d4541577d61a46c3eb229fac to your computer and use it in GitHub Desktop.
Enumerable#find_present extension for Rails
require 'rails'
# Return the first value from the block that evalues to present.
#
# objects = [OpenStruct.new(name: nil), OpenStruct.new(name: ' '), OpenStruct.new(name: 'Matz')]
# objects.find_present(&:name) # => "Matz"
module Enumerable
def find_present(&block)
each do |item|
result = yield(item)
return result if result.present?
end
nil
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment