Sha256: d34b04c313b9360d3df4dbd769f73fc38dfac6b5c0267847b24817efc6c6c105

Contents?: true

Size: 859 Bytes

Versions: 2

Compression:

Stored size: 859 Bytes

Contents

# =========================================================================
#   Ceedling - Test-Centered Build System for C
#   ThrowTheSwitch.org
#   Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
#   SPDX-License-Identifier: MIT
# =========================================================================

require 'yaml'
require 'erb'


class YamlWrapper

  def load(filepath)
    source = ERB.new(File.read(filepath)).result
    begin
      return YAML.load(source, aliases: true)
    rescue ArgumentError
      return YAML.load(source)
    end
  end

  def load_string(source)
    begin
      return YAML.load(source, aliases: true)
    rescue ArgumentError
      return YAML.load(source)
    end
  end

  def dump(filepath, structure)
    File.open(filepath, 'w') do |output|
      YAML.dump(structure, output)
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ceedling-1.0.1 lib/ceedling/yaml_wrapper.rb
ceedling-1.0.0 lib/ceedling/yaml_wrapper.rb