instance method blank?

Ruby on Rails edge

Since v3.1.12

Available in: v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.4 v8.0.5.1 v8.1.4 edge

Signature

blank?()

A string is blank if it’s empty or contains whitespaces only:

```ruby
''.blank?       # => true
'   '.blank?    # => true
"\t\n\r".blank? # => true
' blah '.blank? # => false
```

Unicode whitespace is supported:

```ruby
"\u00a0".blank? # => true
```

@return [true, false]

: () -> bool

Source
# File activesupport/lib/active_support/core_ext/object/blank.rb, line 186
  def blank?
    return true if empty?

    # ASCII-only strings are settled by looking at the bytes: most start with
    # a printable character, and scanning the rest beats the regexp engine
    # under YJIT. Everything else keeps the regexp.
    if ascii_only?
      return false if getbyte(0) > 32

      i = 0
      len = bytesize
      while i < len
        byte = getbyte(i)
        return false unless byte == 32 || (byte >= 9 && byte <= 13)
        i += 1
      end
      true
    else
      begin
        BLANK_RE.match?(self)
      rescue Encoding::CompatibilityError
        ENCODED_BLANKS[encoding].match?(self)
      end
    end
  end

Defined in activesupport/lib/active_support/core_ext/object/blank.rb line 186 · View on GitHub · Improve this page · Find usages on GitHub

Defined in String

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close