Class: Tb::HeaderWriter
- Inherits:
-
Object
show all
- Defined in:
- lib/tb/headerwriter.rb
Instance Method Summary
collapse
Constructor Details
#initialize(put_array) ⇒ HeaderWriter
Returns a new instance of HeaderWriter.
34
35
36
|
# File 'lib/tb/headerwriter.rb', line 34
def initialize(put_array)
@put_array = put_array
end
|
Instance Method Details
#finish ⇒ Object
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/tb/headerwriter.rb', line 81
def finish
if @header_use_buffer == nil
end
if @header_use_buffer
@header_buffer.rewind
@put_array.call @header
begin
while true
hash = Marshal.load(@header_buffer)
put_hash_immediate(hash)
end
rescue EOFError
end
@header_buffer.close!
end
end
|
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/tb/headerwriter.rb', line 46
def
return if defined? @header_use_buffer
= nil
if defined? @header_generator
= @header_generator.call
end
if
@header_use_buffer = false
@header =
@put_array.call @header
else
@header_use_buffer = true
@header = []
@header_buffer = Tempfile.new('tb')
end
end
|
42
43
44
|
# File 'lib/tb/headerwriter.rb', line 42
def (gen)
@header_generator = gen
end
|
38
39
40
|
# File 'lib/tb/headerwriter.rb', line 38
def
true
end
|
#put_hash(hash) ⇒ Object
63
64
65
66
67
68
69
70
71
|
# File 'lib/tb/headerwriter.rb', line 63
def put_hash(hash)
if @header_use_buffer
put_hash_buffer(hash)
else
put_hash_immediate(hash)
end
nil
end
|