module Spruz::Full
Public Instance Methods
full?(dispatch = nil, *args) { |obj| ... }
click to toggle source
Returns the object if it isn't blank (as in Object#blank?), otherwise
it returns nil. If a block was given as an argument and the object
isn't blank, the block is executed with the object as its first
argument. If an argument dispatch
was given and the object
wasn't blank the method given by dispatch is called on the object. This
is the same as foo.full?(&:bar) in the previous block form.
# File lib/spruz/xt/full.rb, line 11 def full?(dispatch = nil, *args) if blank? obj = nil #elsif Module === dispatch # TODO # dispatch.found?(self) elsif dispatch obj = __send__(dispatch, *args) obj = nil if obj.blank? else obj = self end if block_given? and obj yield obj else obj end end