Sha256: fc3a44c2c1bc5ed0a971a26816a083133633c6a64baad2bfed0f0f806216b7e4
Contents?: true
Size: 554 Bytes
Versions: 3
Compression:
Stored size: 554 Bytes
Contents
module HostsFile class Parser include Enumerable def initialize(data) @data = data end def each(&block) file_lines.each do |line| host = parse_line(line) yield(host) if host end end private def parse_line(line) unless line.start_with? "#" parts = line.split(" ") return nil unless parts.length > 1 Host.new(parts[0], parts[1], parts[2..-1]) else nil end end def file_lines @file_lines ||= @data.split("\n") end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
hosts_file-1.0.3 | lib/hosts_file/parser.rb |
hosts_file-0.0.2 | lib/hosts_file/parser.rb |
hosts_file-0.0.1 | lib/hosts_file/parser.rb |