Sha256: 4dcfee65c1f3b3b7e10c8b39a66b31df0fe7c3316f765b5c234cb8e9af19ba51
Contents?: true
Size: 729 Bytes
Versions: 1
Compression:
Stored size: 729 Bytes
Contents
require "yaml" class TerraspaceBundler::Lockfile class Yamler def initialize(mods) @mods = mods.sort_by(&:name) end def dump YAML.dump(data.deep_stringify_keys) end def data @mods.inject({}) do |acc, mod| acc.merge(item(mod)) end end def item(mod) props = mod.props.dup # passthrough: name, url, version, ref, tag, branch etc props.delete(:name) # different structure in Terrafile.lock YAML props[:sha] = mod.sha props.delete_if { |k,v| v.nil? } { mod.name => props } end def write IO.write(TB.config.lockfile, dump) end class << self def write(mods) new(mods).write end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
terraspace-bundler-0.2.0 | lib/terraspace_bundler/lockfile/yamler.rb |