class FileBuffer
Represents a file buffer with a given path.
Definitions
def initialize(path)
Create a new file buffer from a file path.
Signature
-
parameter
pathString the path to the file.
Implementation
def initialize(path)
@path = path
@cache = nil
end
def freeze
Freeze the buffer, caching the contents of the file.
Implementation
def freeze
return self if frozen?
read
super
end
attr :path
Signature
-
attribute
String the path name of the buffer.
def encoding
Signature
-
returns
Encoding the encoding of the buffer.
Implementation
def encoding
read.encoding
end
def read
Read the contents of the file into the buffer.
Signature
-
returns
String the content of the buffer.
Implementation
def read
@cache ||= File.read(@path).freeze
end
def to_buffer
Signature
-
returns
Buffer a buffer with the contents of the file.
Implementation
def to_buffer
Buffer.new(self.read, @path)
end