Sha256: e1716052330b0ce5bc7c7c1c4c4e3f576aed631ed3b0bff8be668fcebf0f72a8
Contents?: true
Size: 868 Bytes
Versions: 2
Compression:
Stored size: 868 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.to_s; h } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
figaro-0.5.3 | lib/figaro.rb |
figaro-0.5.2 | lib/figaro.rb |