Sha256: e24cf5a7672c71156221b8d6dbb4f3e2121194b8e84efe8f902f10982bb743ae
Contents?: true
Size: 890 Bytes
Versions: 3
Compression:
Stored size: 890 Bytes
Contents
require "shellwords" require "figaro/env" require "figaro/railtie" require "figaro/tasks" module Figaro extend self def vars(custom_environment = nil) env(custom_environment).map { |key, value| "#{key}=#{Shellwords.escape(value)}" }.sort.join(" ") end def env(custom_environment = nil) environment = (custom_environment || self.environment).to_s Figaro::Env.from(stringify(flatten(raw).merge(raw.fetch(environment, {})))) end def raw @raw ||= yaml && YAML.load(yaml) || {} end def yaml @yaml ||= File.exist?(path) ? File.read(path) : nil end def path @path ||= Rails.root.join("config/application.yml") end def environment Rails.env end private def flatten(hash) hash.reject { |_, v| Hash === v } end def stringify(hash) hash.inject({}) { |h, (k, v)| h[k.to_s] = v.nil? ? nil : v.to_s; h } end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
figaro-0.6.3 | lib/figaro.rb |
figaro-0.6.2 | lib/figaro.rb |
figaro-0.6.1 | lib/figaro.rb |