Class: SplitPgDump::Table::OneFile
- Inherits:
-
Object
- Object
- SplitPgDump::Table::OneFile
- Defined in:
- lib/split_pgdump.rb
Instance Attribute Summary collapse
-
#cache_size ⇒ Object
readonly
Returns the value of attribute cache_size.
-
#file_name ⇒ Object
readonly
Returns the value of attribute file_name.
Instance Method Summary collapse
- #add_line(line) ⇒ Object
- #flush(&block) ⇒ Object
-
#initialize(dir, name) ⇒ OneFile
constructor
A new instance of OneFile.
- #sort_args(sort_line = []) ⇒ Object
- #write_finish ⇒ Object
Constructor Details
#initialize(dir, name) ⇒ OneFile
Returns a new instance of OneFile.
220 221 222 223 224 225 226 227 228 |
# File 'lib/split_pgdump.rb', line 220 def initialize(dir, name) @file_name = File.join(dir, name) @cache_lines = [] @cache_size = 0 dir = File.dirname(@file_name) unless File.directory?(dir) FileUtils.mkdir_p(dir) end end |
Instance Attribute Details
#cache_size ⇒ Object (readonly)
Returns the value of attribute cache_size.
219 220 221 |
# File 'lib/split_pgdump.rb', line 219 def cache_size @cache_size end |
#file_name ⇒ Object (readonly)
Returns the value of attribute file_name.
219 220 221 |
# File 'lib/split_pgdump.rb', line 219 def file_name @file_name end |
Instance Method Details
#add_line(line) ⇒ Object
230 231 232 233 |
# File 'lib/split_pgdump.rb', line 230 def add_line(line) @cache_lines << line @cache_size += line.size end |
#flush(&block) ⇒ Object
235 236 237 238 239 240 241 242 |
# File 'lib/split_pgdump.rb', line 235 def flush(&block) if @cache_size > 0 @cache_size = 0 content = @cache_lines.join File.open(@file_name, 'a'){|f| f.write(content)} @cache_lines.clear end end |
#sort_args(sort_line = []) ⇒ Object
250 251 252 253 254 255 256 257 258 259 |
# File 'lib/split_pgdump.rb', line 250 def sort_args(sort_line = []) args = [] if sort_line && !sort_line.empty? args.concat sort_line else args << '-n' end args.push '-o', @file_name, @file_name args end |
#write_finish ⇒ Object
244 245 246 247 248 |
# File 'lib/split_pgdump.rb', line 244 def write_finish File.open(@file_name, 'a') do |f| f.puts('\\.') end end |