module Bashly::ComposeRefinements
def compose(keyword = 'import')
def compose(keyword = 'import') result = {} each do |k, v| if k.to_s == keyword sub = safe_load_yaml(v).compose keyword if sub.is_a? Array result = sub else result.merge! sub end elsif v.respond_to? :compose result[k] = v.compose keyword else result[k] = v end end result end
def compose(keyword = 'import')
def compose(keyword = 'import') map do |x| if x.respond_to? :compose x.compose keyword else x end end end
def safe_load_yaml(path)
def safe_load_yaml(path) loaded = YAML.load_erb_file path return loaded if loaded.is_a?(Array) || loaded.is_a?(Hash) raise Bashly::ConfigurationError, "Cannot find a valid YAML in g`#{path}`" rescue Errno::ENOENT raise Bashly::ConfigurationError, "Cannot find import file g`#{path}`" end