Class: DATAWriter
- Inherits:
-
Object
- Object
- DATAWriter
- Defined in:
- lib/data-writer.rb
Defined Under Namespace
Classes: DATANotFoundError
Class Method Summary collapse
-
.data_start_pos ⇒ Object
The position in the file where DATA starts (line after __END__).
-
.file(mode, opt = {}) ⇒ Object
Factory method for DATA writers.
Class Method Details
.data_start_pos ⇒ Object
The position in the file where DATA starts (line after __END__)
10 11 12 |
# File 'lib/data-writer.rb', line 10 def self.data_start_pos @data_start_pos end |
.file(mode, opt = {}) ⇒ Object
Factory method for DATA writers. Works simliar to File.new. mode can be both a string like “w” or a number like File::WRONLY
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/data-writer.rb', line 18 def self.file(mode, opt={}) check_DATA_defined # raises an exception if DATA is not defined. data_path = File.(DATA.path) if mode.is_a?(String) valid_mode = get_valid_string_mode(mode) else valid_mode = get_valid_int_mode(mode) end file = create_file(data_path, valid_mode, opt) @data_start_pos = scan_data_pos file.pos = @data_start_pos # sets the file pos to the line after __END__. enhanced = enhance_file(file) # adds specialized methods for this object. if block_given? yield(enhanced) enhanced.close else enhanced end end |