Module: Gemkeeper::ManifestSerializer

Defined in:
lib/gemkeeper/manifest_serializer.rb

Overview

Handles YAML read/write for the gem manifest file.

Class Method Summary collapse

Class Method Details

.load(path) ⇒ Object



9
10
11
12
13
# File 'lib/gemkeeper/manifest_serializer.rb', line 9

def self.load(path)
  return {} unless File.exist?(path)

  YAML.safe_load_file(path, permitted_classes: [], symbolize_names: true) || {}
end

.save(path, gems:, source_url:) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/gemkeeper/manifest_serializer.rb', line 15

def self.save(path, gems:, source_url:)
  FileUtils.mkdir_p(File.dirname(path))
  data = {}
  data["source_url"] = source_url if source_url
  data["gems"] = gems.map { |g| { "name" => g[:name], "repo" => g[:repo] } }
  File.write(path, data.to_yaml)
end