Module: PicsolveDockerBuilder::Base
- Included in:
- PicsolveDockerBuilder::Builder::Builder, PicsolveDockerBuilder::Builder::File, Composer::Composer, Composer::Container, Composer::Requirements::Base, Composer::Requirements::Context, Frame, Helpers::ConfigManager, Helpers::ConfigVersionUpdate, Helpers::Kubernetes::Resource, Helpers::KubernetesManager, Helpers::Registry, Helpers::Repository, Helpers::SshAuthForwarding, Helpers::SshConnection, Helpers::SshForward
- Defined in:
- lib/picsolve_docker_builder/base.rb
Overview
Base class for everything
* logging
* accessing config
Instance Method Summary collapse
- #base_dir ⇒ Object
- #config ⇒ Object
- #config_file ⇒ Object
- #config_path ⇒ Object
-
#config_paths ⇒ Object
This should replace config_path pretty soon.
- #create_logger ⇒ Object
- #default_config ⇒ Object
- #log ⇒ Object
- #read_config ⇒ Object
- #validate_config(c) ⇒ Object
Instance Method Details
#base_dir ⇒ Object
38 39 40 |
# File 'lib/picsolve_docker_builder/base.rb', line 38 def base_dir Dir.pwd end |
#config ⇒ Object
34 35 36 |
# File 'lib/picsolve_docker_builder/base.rb', line 34 def config @config ||= read_config end |
#config_file ⇒ Object
42 43 44 |
# File 'lib/picsolve_docker_builder/base.rb', line 42 def config_file ENV['DOCKER_BUILDER_FILE'] || '.docker-builder.yml' end |
#config_path ⇒ Object
46 47 48 |
# File 'lib/picsolve_docker_builder/base.rb', line 46 def config_path File.join(base_dir, config_file) end |
#config_paths ⇒ Object
This should replace config_path pretty soon
51 52 53 54 55 |
# File 'lib/picsolve_docker_builder/base.rb', line 51 def config_paths [config_path] + Dir.glob( config_path[0, config_path.length - 3] + '*.yml' ) end |
#create_logger ⇒ Object
24 25 26 27 28 |
# File 'lib/picsolve_docker_builder/base.rb', line 24 def create_logger log = Logger.new(STDOUT) log.level = Logger::DEBUG log end |
#default_config ⇒ Object
57 58 59 |
# File 'lib/picsolve_docker_builder/base.rb', line 57 def default_config {} end |
#log ⇒ Object
30 31 32 |
# File 'lib/picsolve_docker_builder/base.rb', line 30 def log @logger ||= create_logger end |
#read_config ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/picsolve_docker_builder/base.rb', line 65 def read_config c = default_config path = config_path begin yaml = Psych.load_file path c = c.deep_merge(yaml) rescue Errno::ENOENT log.debug "can not find config at '#{path}'" end validate_config(c) end |
#validate_config(c) ⇒ Object
61 62 63 |
# File 'lib/picsolve_docker_builder/base.rb', line 61 def validate_config(c) c end |