instance method
blank?
Ruby on Rails edge
Since v3.1.12Signature
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