Class: Log::File
Instance Method Summary
collapse
Methods included from Methods
#debug, #error, #fail, #info, #log, #warn
Methods included from FakeIO
#<<, #printf, #process_buffer, #puts, #write
Constructor Details
#initialize(out) ⇒ File
Returns a new instance of File.
26
27
28
29
30
31
|
# File 'lib/log/file.rb', line 26
def initialize(out)
@out = nil
@default_type = :error
@buffer = ""
reopen(out)
end
|
Instance Method Details
#close ⇒ Object
45
46
47
48
|
# File 'lib/log/file.rb', line 45
def close
@out.close if @out.respond_to?(:close)
self
end
|
#closed? ⇒ Boolean
50
51
52
|
# File 'lib/log/file.rb', line 50
def closed?
@out.respond_to?(:close) ? @out.closed? : true
end
|
#process(obj) ⇒ Object
33
34
35
36
|
# File 'lib/log/file.rb', line 33
def process(obj)
@out.puts(obj.serialize)
@out.flush
end
|
#reopen(out) ⇒ Object
38
39
40
41
42
43
|
# File 'lib/log/file.rb', line 38
def reopen(out)
close
@out = out.respond_to?(:to_str) ? ::File.open(out, "a") : out
raise TypeError, "out #{@out} does not respond to 'puts'." unless @out.respond_to?(:puts)
self
end
|