class PropertiesLoader

Public Class Methods

new(properties = nil) click to toggle source
# File lib/serverspec_launcher/helpers/properties_loader.rb, line 6
def initialize(properties = nil)
  load properties
end

Public Instance Methods

expand_env_vars(text) click to toggle source
# File lib/serverspec_launcher/helpers/properties_loader.rb, line 23
def expand_env_vars(text)
  text.gsub /\${([^}]+)}/ do
    data = $1.split(/:[-=]/)
    var_name = data[0]
    var_default = data[1]
    ENV[var_name] || var_default
  end
end
load(properties) click to toggle source
# File lib/serverspec_launcher/helpers/properties_loader.rb, line 10
def load(properties)

  @raw_properties =  if properties.is_a? Hash
    properties.deep_symbolize_keys
  elsif properties.is_a? String
    YAML.safe_load(expand_env_vars(properties)).deep_symbolize_keys
  else
    properties_file = ENV['SERVERSPEC_CONFIG'] || 'properties.yml'
    str = File.read(properties_file)
    YAML.safe_load(expand_env_vars(str)).deep_symbolize_keys
  end
end
properties() click to toggle source
# File lib/serverspec_launcher/helpers/properties_loader.rb, line 32
def properties
  @properties ||= @raw_properties
end