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