Class: Shiplane::Configuration
- Inherits:
-
Object
- Object
- Shiplane::Configuration
- Defined in:
- lib/shiplane/configuration.rb
Instance Attribute Summary collapse
-
#project_folder ⇒ Object
Returns the value of attribute project_folder.
-
#stage ⇒ Object
Returns the value of attribute stage.
Class Method Summary collapse
Instance Method Summary collapse
- #bootstrap_config ⇒ Object
- #build_config ⇒ Object
- #build_environment_filepath ⇒ Object
- #config ⇒ Object
- #deploy_config ⇒ Object
-
#initialize(project_folder: nil, stage: stage) ⇒ Configuration
constructor
A new instance of Configuration.
- #project_config ⇒ Object
- #shiplane_config_file ⇒ Object
Constructor Details
#initialize(project_folder: nil, stage: stage) ⇒ Configuration
Returns a new instance of Configuration.
5 6 7 8 |
# File 'lib/shiplane/configuration.rb', line 5 def initialize(project_folder: nil, stage: stage) @project_folder = project_folder || Dir.pwd @stage = stage end |
Instance Attribute Details
#project_folder ⇒ Object
Returns the value of attribute project_folder.
3 4 5 |
# File 'lib/shiplane/configuration.rb', line 3 def project_folder @project_folder end |
#stage ⇒ Object
Returns the value of attribute stage.
3 4 5 |
# File 'lib/shiplane/configuration.rb', line 3 def stage @stage end |
Class Method Details
.config(project_folder = nil) ⇒ Object
43 44 45 |
# File 'lib/shiplane/configuration.rb', line 43 def self.config(project_folder = nil) new(project_folder).config end |
Instance Method Details
#bootstrap_config ⇒ Object
22 23 24 |
# File 'lib/shiplane/configuration.rb', line 22 def bootstrap_config @bootstrap_config ||= config.fetch('bootstrap', {}) end |
#build_config ⇒ Object
18 19 20 |
# File 'lib/shiplane/configuration.rb', line 18 def build_config @build_config ||= config.fetch('build', {}) end |
#build_environment_filepath ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/shiplane/configuration.rb', line 34 def build_environment_filepath return @build_environment_filepath if defined? @build_environment_filepath @build_environment_filepath = build_config.fetch('environment_file', '.env') @build_environment_filepath = File.join(project_folder, "#{@build_environment_filepath}.#{stage}") if File.exist?(File.join(project_folder, "#{@build_environment_filepath}.#{stage}")) @build_environment_filepath end |
#config ⇒ Object
14 15 16 |
# File 'lib/shiplane/configuration.rb', line 14 def config @config ||= YAML.load_file(shiplane_config_file) end |
#deploy_config ⇒ Object
26 27 28 |
# File 'lib/shiplane/configuration.rb', line 26 def deploy_config @deploy_config ||= config.fetch('deploy', {}) end |
#project_config ⇒ Object
30 31 32 |
# File 'lib/shiplane/configuration.rb', line 30 def project_config @project_config ||= config.fetch('project', {}) end |
#shiplane_config_file ⇒ Object
10 11 12 |
# File 'lib/shiplane/configuration.rb', line 10 def shiplane_config_file @shiplane_config_file ||= File.join(project_folder, Shiplane::SHIPLANE_CONFIG_FILENAME) end |