Sha256: fa35f2b50f0f1f65c1a305f04e693c12e907f3009bb1fd50c334df0611803f13

Contents?: true

Size: 1.12 KB

Versions: 16

Compression:

Stored size: 1.12 KB

Contents

=begin rdoc

= Ruby on Rails Core Extensions

provides .blank?

=end
unless Object.respond_to?(:blank?) #:nodoc:
  # Check first to see if we are in a Rails environment, no need to 
  # define these methods if we are
  class Object
    # An object is blank if it's nil, empty, or a whitespace string.
    # For example, "", "   ", nil, [], and {} are blank.
    #
    # This simplifies
    #   if !address.nil? && !address.empty?
    # to
    #   if !address.blank?
    def blank?
      if respond_to?(:empty?) && respond_to?(:strip)
        empty? or strip.empty?
      elsif respond_to?(:empty?)
        empty?
      else
        !self
      end
    end
  end

  class NilClass #:nodoc:
    def blank?
      true
    end
  end

  class FalseClass #:nodoc:
    def blank?
      true
    end
  end

  class TrueClass #:nodoc:
    def blank?
      false
    end
  end

  class Array #:nodoc:
    alias_method :blank?, :empty?
  end

  class Hash #:nodoc:
    alias_method :blank?, :empty?
  end

  class String #:nodoc:
    def blank?
      empty? || strip.empty?
    end
  end

  class Numeric #:nodoc:
    def blank?
      false
    end
  end
end

Version data entries

16 entries across 16 versions & 4 rubygems

Version Path
actionmailer-2.0.1 lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
actionmailer-2.0.4 lib/action_mailer/vendor/tmail-1.2.1/tmail/core_extensions.rb
actionmailer-2.0.2 lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
actionmailer-2.0.0 lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
actionmailer-2.0.5 lib/action_mailer/vendor/tmail-1.2.1/tmail/core_extensions.rb
radiant-0.6.5.1 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
radiant-0.6.5 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
radiant-0.6.6 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
radiant-0.6.7 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
radiant-0.6.9 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
radiant-0.6.8 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
spree-0.0.9 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
spree-0.2.0 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb
tmail-1.2.0 lib/tmail/core_extensions.rb
tmail-1.1.1 lib/tmail/core_extensions.rb
tmail-1.2.1 lib/tmail/core_extensions.rb