Method: ConfCtl::Generation::Build#save

Defined in:
lib/confctl/generation/build.rb

#saveObject



87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/confctl/generation/build.rb', line 87

def save
  FileUtils.mkdir_p(dir)
  File.symlink(toplevel, toplevel_path)
  File.symlink(auto_rollback, auto_rollback_path)

  swpin_paths.each do |name, path|
    File.symlink(path, swpin_path(name))
  end

  File.open(config_path, 'w') do |f|
    f.puts(JSON.pretty_generate({
      date: date.iso8601,
      toplevel:,
      auto_rollback:,
      swpins: swpin_paths.to_h do |name, path|
        [name, { path:, spec: swpin_specs[name].as_json }]
      end
    }))
  end

  add_gcroot
end