module Dotenv
The top level Dotenv module. The entrypoint for the application logic.
Constants
- VERSION
Attributes
instrumenter[RW]
Public Instance Methods
ignoring_nonexistent_files() { || ... }
click to toggle source
# File lib/dotenv.rb, line 82 def ignoring_nonexistent_files yield rescue Errno::ENOENT end
instrument(name, payload = {}) { || ... }
click to toggle source
# File lib/dotenv.rb, line 68 def instrument(name, payload = {}, &block) if instrumenter instrumenter.instrument(name, payload, &block) else yield end end
load(*filenames)
click to toggle source
# File lib/dotenv.rb, line 13 def load(*filenames) with(*filenames) do |f| ignoring_nonexistent_files do env = Environment.new(f, true) instrument("dotenv.load", env: env) { env.apply } end end end
load!(*filenames)
click to toggle source
same as `load`, but raises Errno::ENOENT if any files don't exist
# File lib/dotenv.rb, line 23 def load!(*filenames) with(*filenames) do |f| env = Environment.new(f, true) instrument("dotenv.load", env: env) { env.apply } end end
overload(*filenames)
click to toggle source
same as `load`, but will override existing values in `ENV`
# File lib/dotenv.rb, line 31 def overload(*filenames) with(*filenames) do |f| ignoring_nonexistent_files do env = Environment.new(f, false) instrument("dotenv.overload", env: env) { env.apply! } end end end
overload!(*filenames)
click to toggle source
same as `overload`, but raises Errno::ENOENT if any files don't exist
# File lib/dotenv.rb, line 41 def overload!(*filenames) with(*filenames) do |f| env = Environment.new(f, false) instrument("dotenv.overload", env: env) { env.apply! } end end
parse(*filenames)
click to toggle source
returns a hash of parsed key/value pairs but does not modify ENV
# File lib/dotenv.rb, line 49 def parse(*filenames) with(*filenames) do |f| ignoring_nonexistent_files do Environment.new(f, false) end end end
require_keys(*keys)
click to toggle source
# File lib/dotenv.rb, line 76 def require_keys(*keys) missing_keys = keys.flatten - ::ENV.keys return if missing_keys.empty? raise MissingKeys, missing_keys end
with(*filenames) { |expand_path| ... }
click to toggle source
Internal: Helper to expand list of filenames.
Returns a hash of all the loaded environment variables.
# File lib/dotenv.rb, line 60 def with(*filenames) filenames << ".env" if filenames.empty? filenames.reduce({}) do |hash, filename| hash.merge!(yield(File.expand_path(filename)) || {}) end end