module ParamsBuilder

Constants

VERSION

Public Class Methods

build(file_name, variables = {}) click to toggle source
# File lib/params_builder.rb, line 10
def self.build(file_name, variables = {})
  erb_context = Struct.new(*variables.keys) do
    def with_binding
      binding
    end
  end

  path = "#{config.file_path}/#{file_name}.yml.erb"

  YAML.load_stream(
    ERB.new(File.read(path)).result(
      erb_context.new(*variables.values).with_binding
    )
  ).first
end
config() click to toggle source
# File lib/params_builder/configuration.rb, line 15
def config
  @config ||= Configuration.new
end
configure() { |config| ... } click to toggle source
# File lib/params_builder/configuration.rb, line 11
def configure
  yield config
end
read(file_name) click to toggle source
# File lib/params_builder.rb, line 26
def self.read(file_name)
  path = "#{config.file_path}/#{file_name}.yml.erb"

  YAML.load_stream(
    ERB.new(File.read(path)).result
  ).first
end
root() click to toggle source
# File lib/params_builder.rb, line 6
def self.root
  File.dirname __dir__
end

Public Instance Methods

with_binding() click to toggle source
# File lib/params_builder.rb, line 12
def with_binding
  binding
end