module Dhall::Rails
Public Class Methods
dig_dhall(root, path)
click to toggle source
# File lib/dhall/rails.rb, line 52 def self.dig_dhall(root, path) path.reduce(root) { |o, m| o.public_send(m) }.as_dhall end
environment_reader(sources)
click to toggle source
# File lib/dhall/rails.rb, line 56 def self.environment_reader(sources) sources.map do |source| Promise.resolve(nil).then do if source.var.start_with?("Rails.") dig_dhall(::Rails, source.var.split(/\./)[1..-1]) else ENV.fetch(source) end end end end
load( source, resolver: Resolvers::Default.new( environment_reader: method(:environment_reader), cache: Cache.new ), timeout: 10 )
click to toggle source
# File lib/dhall/rails.rb, line 16 def self.load( source, resolver: Resolvers::Default.new( environment_reader: method(:environment_reader), cache: Cache.new ), timeout: 10 ) Dhall.load(source, resolver: resolver, timeout: timeout).sync end
load_decoded( source, resolver: Resolvers::Default.new( environment_reader: method(:environment_reader), cache: Cache.new ), timeout: 10, transform_keys: :to_s )
click to toggle source
# File lib/dhall/rails.rb, line 27 def self.load_decoded( source, resolver: Resolvers::Default.new( environment_reader: method(:environment_reader), cache: Cache.new ), timeout: 10, transform_keys: :to_s ) Coder::SIMPLE.decode( load(source, resolver: resolver, timeout: timeout), transform_keys: transform_keys ) end