class Object
this is taken directly from activesupport 3.1.1 we won’t redo all this unless we need to
Public Instance Methods
blank?()
click to toggle source
An object is blank if it’s false, empty, or a whitespace string. For example, “”, “ ”, nil
, [], and {} are all blank.
This simplifies:
if address.nil? || address.empty?
…to:
if address.blank?
# File lib/core_ext/object/blank.rb, line 15 def blank? respond_to?(:empty?) ? empty? : !self end
presence()
click to toggle source
Returns object if it’s present?
otherwise returns nil
. object.presence
is equivalent to object.present? ? object : nil
.
This is handy for any representation of objects where blank is the same as not present at all. For example, this simplifies a common check for HTTP POST/query parameters:
state = params[:state] if params[:state].present? country = params[:country] if params[:country].present? region = state || country || 'US'
…becomes:
region = params[:state].presence || params[:country].presence || 'US'
# File lib/core_ext/object/blank.rb, line 38 def presence self if present? end
present?()
click to toggle source
An object is present if it’s not blank?
.
# File lib/core_ext/object/blank.rb, line 20 def present? !blank? end