Sha256: c918be150ba74dd63fca6ea0e5d74c4b0871f9ef2d3cb67e69b64e2b95dfa931
Contents?: true
Size: 1.34 KB
Versions: 4
Compression:
Stored size: 1.34 KB
Contents
require "dotenv" module Jets class Dotenv include Jets::AwsServices include Jets::Util::Logging def load! return unless load? variables = ::Dotenv.load(*dotenv_files) Ssm.new(variables).interpolate! end def parse return {} unless load? variables = ::Dotenv.parse(*dotenv_files) Ssm.new(variables).interpolate! end def load? enabled = ENV["JETS_DOTENV"] != "0" # allow to disable with JETS_DOTENV=0 # Prevent ssm calls when on AWS Lambda but will call if on AWS CodeBuild on_aws = (ENV["ON_AWS"] || ENV["_HANDLER"]) && !ENV["CODEBUILD_CI"] enabled && !on_aws end # dotenv files with the following precedence: # # - config/jets/env/.env.dev.extra (highest) # - config/jets/env/.env.dev # - config/jets/env/.env - The original (lowest) # def dotenv_files files = [] files << ".env.#{Jets.env}.#{Jets.extra}" if Jets.extra files << ".env.#{Jets.env}" files << ".env" files.map! { |f| Jets.root.join("config/jets/env", f) }.compact files.map(&:to_s) end class << self extend Memoist @@load = nil def load! @@load ||= new.load! end memoize :load! @@parse = nil def parse @@parse ||= new.parse end memoize :parse end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
jets-6.0.5 | lib/jets/dotenv.rb |
jets-6.0.4 | lib/jets/dotenv.rb |
jets-6.0.3 | lib/jets/dotenv.rb |
jets-6.0.2 | lib/jets/dotenv.rb |