Sha256: 590f7b0911ddfc54ed2841fb5fb7b6edc4610ca69f970f2aed7129278b5c8da4

Contents?: true

Size: 639 Bytes

Versions: 15

Compression:

Stored size: 639 Bytes

Contents

module Ardm
  module Ext
    # Determines whether the specified +value+ is blank.
    #
    # An object is blank if it's false, empty, or a whitespace string.
    # For example, "", "   ", +nil+, [], and {} are blank.
    #
    # @api semipublic
    def self.blank?(value)
      return value.blank? if value.respond_to?(:blank?)
      case value
      when ::NilClass, ::FalseClass
        true
      when ::TrueClass, ::Numeric
        false
      when ::Array, ::Hash
        value.empty?
      when ::String
        value !~ /\S/
      else
        value.nil? || (value.respond_to?(:empty?) && value.empty?)
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
ardm-0.4.0.ar427 lib/ardm/support/ext/blank.rb
ardm-0.4.0 lib/ardm/support/ext/blank.rb
ardm-0.3.2 lib/ardm/support/ext/blank.rb
ardm-0.3.1 lib/ardm/support/ext/blank.rb
ardm-0.3.0 lib/ardm/support/ext/blank.rb
ardm-0.2.7 lib/ardm/support/ext/blank.rb
ardm-0.2.6 lib/ardm/support/ext/blank.rb
ardm-0.2.5 lib/ardm/support/ext/blank.rb
ardm-0.2.4 lib/ardm/support/ext/blank.rb
ardm-0.2.3 lib/ardm/support/ext/blank.rb
ardm-0.2.2 lib/ardm/support/ext/blank.rb
ardm-0.2.1 lib/ardm/support/ext/blank.rb
ardm-0.2.0 lib/ardm/support/ext/blank.rb
ardm-0.1.0 lib/ardm/support/ext/blank.rb
ardm-0.0.1 lib/ardm/support/ext/blank.rb