Class: LineReader
- Inherits:
-
Object
- Object
- LineReader
- Defined in:
- lib/worlddb/readers/line_reader.rb
Instance Attribute Summary collapse
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
Instance Method Summary collapse
- #each_line ⇒ Object
-
#initialize(logger = nil, path) ⇒ LineReader
constructor
A new instance of LineReader.
Constructor Details
#initialize(logger = nil, path) ⇒ LineReader
Returns a new instance of LineReader.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/worlddb/readers/line_reader.rb', line 5 def initialize( logger=nil, path ) if logger.nil? @logger = Logger.new(STDOUT) @logger.level = Logger::INFO else @logger = logger end @path = path ## nb: assume/enfore utf-8 encoding (with or without BOM - byte order mark) ## - see worlddb/utils.rb @data = File.read_utf8( @path ) end |
Instance Attribute Details
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
20 21 22 |
# File 'lib/worlddb/readers/line_reader.rb', line 20 def logger @logger end |
Instance Method Details
#each_line ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/worlddb/readers/line_reader.rb', line 23 def each_line @data.each_line do |line| if line =~ /^\s*#/ # skip komments and do NOT copy to result (keep comments secret!) logger.debug 'skipping comment line' next end if line =~ /^\s*$/ # kommentar oder leerzeile überspringen logger.debug 'skipping blank line' next end # remove leading and trailing whitespace line = line.strip yield( line ) end # each lines end |