class Denv::Parser
Constants
- COMMENT_CHAR
- DELIMITER
- WHITE_SPACES
Public Class Methods
new(io, filename)
click to toggle source
# File lib/denv.rb, line 81 def initialize(io, filename) @io = io @filename = filename end
Public Instance Methods
parse()
click to toggle source
# File lib/denv.rb, line 86 def parse env = {} @io.each_line.with_index do |line, i| line = line.chomp.lstrip if !line.empty? && !line.start_with?(COMMENT_CHAR) key, value = line.split(DELIMITER, 2) if key && value if key.match(WHITE_SPACES) raise InvalidKeyNameError.new(line, @filename, i + 1) else env[key] = value end else raise InvalidFormatError.new(line, @filename, i + 1) end end end env end