module Dotenv
def parse(*filenames, overwrite: false, ignore: true, &block)
-
(Hash)
- parsed key/value pairs
Parameters:
-
block
(Proc
) -- Block to yield for each parsed `Dotenv::Environment` -
ignore
(Boolean
) -- Ignore non-existent files -
overwrite
(Boolean
) -- Overwrite existing `ENV` values -
filenames
(String, Array
) -- Files to parse
def parse(*filenames, overwrite: false, ignore: true, &block) filenames << ".env" if filenames.empty? filenames = filenames.reverse if overwrite filenames.reduce({}) do |hash, filename| begin env = Environment.new(File.expand_path(filename), overwrite: overwrite) env = block.call(env) if block rescue Errno::ENOENT, Errno::EISDIR raise unless ignore end hash.merge! env || {} end end