Sha256: fefaf81962f1ca1e955453ffd60fde95ee055f1e31d8807b117c2998c8e87d5e
Contents?: true
Size: 661 Bytes
Versions: 10
Compression:
Stored size: 661 Bytes
Contents
# frozen_string_literal: true require 'kind/basic' module Kind module Presence extend self def call(object) return if KIND.nil_or_undefined?(object) return object.blank? ? nil : object if object.respond_to?(:blank?) return blank_str?(object) ? nil : object if String === object return object.empty? ? nil : object if object.respond_to?(:empty?) return object if object end def to_proc -> object { call(object) } end private BLANK_RE = /\A[[:space:]]*\z/ def blank_str?(object) object.empty? || BLANK_RE === object end private_constant :BLANK_RE end end
Version data entries
10 entries across 10 versions & 1 rubygems