Class: Net::IMAP::Literal
Do not use. This class is for internal use only.
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Subclasses:
|
|
| Inherits: | Object |
| Defined in: | lib/net/imap/command_data.rb |
Class Method Summary
- .new(data:, non_sync: nil) ⇒ Literal constructor
- .validate
Instance Method Summary
Constructor Details
.new(data:, non_sync: nil) ⇒ Literal
# File 'lib/net/imap/command_data.rb', line 276
def initialize(data:, non_sync: nil) data = -String(data.to_str).b or raise DataFormatError, "#{self.class} expects string input" super validate end
Class Method Details
.validate
[ GitHub ]# File 'lib/net/imap/command_data.rb', line 270
def self.validate(...) data = new(...) data.validate data end
Instance Method Details
#bytesize
[ GitHub ]# File 'lib/net/imap/command_data.rb', line 283
def bytesize = data.bytesize
#send_data(imap, tag)
[ GitHub ]# File 'lib/net/imap/command_data.rb', line 292
def send_data(imap, tag) imap.__send__(:send_literal, data, tag, non_sync:) end
#validate
[ GitHub ]# File 'lib/net/imap/command_data.rb', line 285
def validate if data.include?("\0") raise DataFormatError, "NULL byte not allowed in #{self.class}. " \ "Use #{Literal8} or a null-safe encoding." end end