Class: Trenni::IOBuffer

Inherits:
Object
  • Object
show all
Defined in:
lib/trenni/buffer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(io, path: io.inspect) ⇒ IOBuffer

Returns a new instance of IOBuffer.



82
83
84
85
# File 'lib/trenni/buffer.rb', line 82

def initialize(io, path: io.inspect)
	@io = io
	@path = path
end

Instance Attribute Details

#pathObject (readonly)

Returns the value of attribute path.



95
96
97
# File 'lib/trenni/buffer.rb', line 95

def path
  @path
end

Instance Method Details

#encodingObject



97
98
99
# File 'lib/trenni/buffer.rb', line 97

def encoding
	read.encoding
end

#freezeObject



87
88
89
90
91
92
93
# File 'lib/trenni/buffer.rb', line 87

def freeze
	return self if frozen?
	
	read
	
	super
end

#readObject



101
102
103
# File 'lib/trenni/buffer.rb', line 101

def read
	@cache ||= @io.read.freeze
end

#to_bufferObject



105
106
107
# File 'lib/trenni/buffer.rb', line 105

def to_buffer
	Buffer.new(self.read, path: @path)
end