module DotEnv::Parser
Constants
- FALSEWORDS
- TRUEWORDS
Public Class Methods
check_falsy(value)
click to toggle source
# File lib/dot_env/parser.rb, line 28 def self.check_falsy(value) if FALSEWORDS.include? value.to_s.downcase return false else return value end end
check_truthy(value)
click to toggle source
# File lib/dot_env/parser.rb, line 20 def self.check_truthy(value) if TRUEWORDS.include? value.to_s.downcase return true else return value end end
cleanup(value)
click to toggle source
# File lib/dot_env/parser.rb, line 12 def self.cleanup(value) value.gsub(/["'\[\]]/, '').split(',').each(&:strip!) end
expand(value)
click to toggle source
# File lib/dot_env/parser.rb, line 16 def self.expand(value) value.gsub!(/\$\{?(\w+)\}?/) { ENV.fetch($1, nil) } || value end
get_value_pair(line)
click to toggle source
# File lib/dot_env/parser.rb, line 6 def self.get_value_pair(line) key, value = line.chomp.split('=').each {|v| v.gsub!(/['"]/, '') }.each(&:strip!) value = self.expand(value) [key, value] end
parse(value)
click to toggle source
# File lib/dot_env/parser.rb, line 36 def self.parse(value) parsed = [] self.cleanup(value).each do |v| v = self.expand(v) v = self.check_truthy(v) v = self.check_falsy(v) parsed.push v end parsed.length > 1 ? parsed : parsed.first end