Module: VagrantDockerCertificatesManager::Registry

Defined in:
lib/vagrant-docker-certificates-manager/util/registry.rb

Class Method Summary collapse

Class Method Details

.allObject



49
50
51
# File 'lib/vagrant-docker-certificates-manager/util/registry.rb', line 49

def all
  load
end

.db_pathObject



10
11
12
# File 'lib/vagrant-docker-certificates-manager/util/registry.rb', line 10

def db_path
  File.join(Dir.home, ".vagrant.d", "vdcm", "certs.json")
end

.ensure_dir!Object



14
15
16
# File 'lib/vagrant-docker-certificates-manager/util/registry.rb', line 14

def ensure_dir!
  FileUtils.mkdir_p(File.dirname(db_path))
end

.find_by_path(path) ⇒ Object



44
45
46
47
# File 'lib/vagrant-docker-certificates-manager/util/registry.rb', line 44

def find_by_path(path)
  data = load
  data.find { |_fp, v| File.expand_path(v["path"]) == File.expand_path(path) }
end

.loadObject



18
19
20
21
22
23
24
# File 'lib/vagrant-docker-certificates-manager/util/registry.rb', line 18

def load
  ensure_dir!
  return {} unless File.exist?(db_path)
  JSON.parse(File.read(db_path))
rescue
  {}
end

.save(data) ⇒ Object



26
27
28
29
# File 'lib/vagrant-docker-certificates-manager/util/registry.rb', line 26

def save(data)
  ensure_dir!
  File.write(db_path, JSON.pretty_generate(data))
end

.track(fp, attrs) ⇒ Object



31
32
33
34
35
# File 'lib/vagrant-docker-certificates-manager/util/registry.rb', line 31

def track(fp, attrs)
  data = load
  data[fp] = attrs
  save(data)
end

.untrack(fp) ⇒ Object



37
38
39
40
41
42
# File 'lib/vagrant-docker-certificates-manager/util/registry.rb', line 37

def untrack(fp)
  data = load
  removed = !data.delete(fp).nil?
  save(data)
  removed
end