Class: KuberKit::Core::ImageStore

Inherits:
Object
  • Object
show all
Defined in:
lib/kuber_kit/core/image_store.rb

Instance Method Summary collapse

Instance Method Details

#add_definition(image_definition) ⇒ Object



15
16
17
# File 'lib/kuber_kit/core/image_store.rb', line 15

def add_definition(image_definition)
  definitions_store.add(image_definition.image_name, image_definition)
end

#define(image_name, image_dir = nil) ⇒ Object



9
10
11
12
13
# File 'lib/kuber_kit/core/image_store.rb', line 9

def define(image_name, image_dir = nil)
  definition = image_definition_factory.create(image_name, image_dir)
  add_definition(definition)
  definition
end

#get_definition(image_name) ⇒ Object



20
21
22
# File 'lib/kuber_kit/core/image_store.rb', line 20

def get_definition(image_name)
  definitions_store.get(image_name)
end

#get_image(image_name) ⇒ Object



25
26
27
28
29
# File 'lib/kuber_kit/core/image_store.rb', line 25

def get_image(image_name)
  definition = get_definition(image_name)

  image_factory.create(definition)
end

#load_definition(file_path) ⇒ Object



40
41
42
# File 'lib/kuber_kit/core/image_store.rb', line 40

def load_definition(file_path)
  require(file_path)
end

#load_definitions(dir_path) ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/kuber_kit/core/image_store.rb', line 31

def load_definitions(dir_path)
  files = local_shell.recursive_list_files(dir_path, name: "image.rb").each do |path|
    load_definition(path)
  end
rescue KuberKit::Shell::AbstractShell::DirNotFoundError
  ui.print_warning("ImageStore", "Directory with images not found: #{dir_path}")
  []
end

#reset!Object



44
45
46
# File 'lib/kuber_kit/core/image_store.rb', line 44

def reset!
  definitions_store.reset!
end