Class: KuberKit::Core::ConfigurationStore
- Defined in:
- lib/kuber_kit/core/configuration_store.rb
Constant Summary collapse
- NotFoundError =
Class.new(KuberKit::NotFoundError)
- AlreadyAddedError =
Class.new(KuberKit::Error)
Instance Method Summary collapse
- #add_definition(configuration_definition) ⇒ Object
- #all_definitions ⇒ Object
- #count ⇒ Object
- #define(configuration_name) ⇒ Object
- #exists?(configuration_name) ⇒ Boolean
- #get_configuration(configuration_name) ⇒ Object
- #get_definition(configuration_name) ⇒ Object
- #load_definition(file_path) ⇒ Object
- #load_definitions(dir_path) ⇒ Object
- #reset! ⇒ Object
Instance Method Details
#add_definition(configuration_definition) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 18 def add_definition(configuration_definition) @@configuration_definitions ||= {} unless @@configuration_definitions[configuration_definition.configuration_name].nil? raise AlreadyAddedError, "image #{configuration_definition.configuration_name} was already added" end @@configuration_definitions[configuration_definition.configuration_name] = configuration_definition end |
#all_definitions ⇒ Object
63 64 65 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 63 def all_definitions @@configuration_definitions ||= {} end |
#count ⇒ Object
67 68 69 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 67 def count all_definitions.count end |
#define(configuration_name) ⇒ Object
12 13 14 15 16 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 12 def define(configuration_name) definition = configuration_definition_factory.create(configuration_name) add_definition(definition) definition end |
#exists?(configuration_name) ⇒ Boolean
71 72 73 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 71 def exists?(configuration_name) !all_definitions[configuration_name].nil? end |
#get_configuration(configuration_name) ⇒ Object
40 41 42 43 44 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 40 def get_configuration(configuration_name) definition = get_definition(configuration_name) configuration_factory.create(definition) end |
#get_definition(configuration_name) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 29 def get_definition(configuration_name) @@configuration_definitions ||= {} if @@configuration_definitions[configuration_name].nil? raise NotFoundError, "configuration #{configuration_name} not found" end @@configuration_definitions[configuration_name] end |
#load_definition(file_path) ⇒ Object
55 56 57 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 55 def load_definition(file_path) require(file_path) end |
#load_definitions(dir_path) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 46 def load_definitions(dir_path) files = local_shell.recursive_list_files(dir_path).each do |path| load_definition(path) end rescue KuberKit::Shell::AbstractShell::DirNotFoundError logger.warn("Directory with configurations not found: #{dir_path}") [] end |
#reset! ⇒ Object
59 60 61 |
# File 'lib/kuber_kit/core/configuration_store.rb', line 59 def reset! @@configuration_definitions = {} end |