>From the comments on the file, one of the main short hand usage of 
'presence' method is :

# For example, something like
#
#   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'

However the '||' use case does not play well if the Object is a boolean 
type. Example usecase  :

# checked = false
# checked.presence || true 
#=> this returns true even even though checked has a value.

Would it be a good idea to have a default value on presence method the way 
we can provide one with 'fetch' method ? . Example  :

def presence(default_value = nil)
  return self if present?
  default_value
end

checked = false
checked.presence(true) #instead of 'checked.presence || value'
# This also reducers from using '||' and we can just use the argument. Very 
similar to hash.fetch(key, default_value)

Not a big case/change, but was wondering if someone was having the urge of 
adding this one line to make life a little easier :)


-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

Reply via email to