Class: Guileless::OutputBuffer

Inherits:
Object
  • Object
show all
Defined in:
lib/guileless/output_buffer.rb

Instance Method Summary collapse

Constructor Details

#initializeOutputBuffer

Returns a new instance of OutputBuffer.



3
4
5
6
# File 'lib/guileless/output_buffer.rb', line 3

def initialize
  @output_buffer = []
  @output = []
end

Instance Method Details

#add(str) ⇒ Object



8
9
10
11
12
# File 'lib/guileless/output_buffer.rb', line 8

def add(str)
  str = str.chars.to_a if str.kind_of?(String)
  @output_buffer += Array(str)
  str
end

#buffered?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/guileless/output_buffer.rb', line 14

def buffered?
  @output_buffer.length > 0
end

#flushObject



18
19
20
21
# File 'lib/guileless/output_buffer.rb', line 18

def flush
  @output += @output_buffer
  @output_buffer = []
end

#to_sObject



29
30
31
# File 'lib/guileless/output_buffer.rb', line 29

def to_s
  @output.join
end

#wrap(prefix, postfix) ⇒ Object



23
24
25
26
27
# File 'lib/guileless/output_buffer.rb', line 23

def wrap(prefix, postfix)
  prefix = prefix.chars.to_a if prefix.kind_of?(String)
  postfix = postfix.chars.to_a if postfix.kind_of?(String)
  @output_buffer = Array(prefix) + @output_buffer + Array(postfix)
end