Class: KY::Compilation
- Inherits:
-
Object
- Object
- KY::Compilation
- Defined in:
- lib/ky/compilation.rb
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
-
#deploy_generation ⇒ Object
readonly
Returns the value of attribute deploy_generation.
Instance Method Summary collapse
- #compile(env1path, env2path, base_output_dir) ⇒ Object
-
#initialize(opts = {}) ⇒ Compilation
constructor
A new instance of Compilation.
Constructor Details
#initialize(opts = {}) ⇒ Compilation
5 6 7 |
# File 'lib/ky/compilation.rb', line 5 def initialize(opts={}) @configuration = Configuration.new(opts) end |
Instance Attribute Details
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
3 4 5 |
# File 'lib/ky/compilation.rb', line 3 def configuration @configuration end |
#deploy_generation ⇒ Object (readonly)
Returns the value of attribute deploy_generation.
3 4 5 |
# File 'lib/ky/compilation.rb', line 3 def deploy_generation @deploy_generation end |
Instance Method Details
#compile(env1path, env2path, base_output_dir) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/ky/compilation.rb', line 9 def compile(env1path, env2path, base_output_dir) full_output_dir = Pathname.new(base_output_dir).join(configuration[:environment].to_s).to_s FileUtils.mkdir_p(full_output_dir) env_obj = EnvGeneration.new(env1path, env2path, configuration) @deploy_generation = DeployGeneration.new(full_output_dir, env_obj.immutable_project_name, configuration) deploys_hash = deploy_generation.to_h deploys_hash.each do |file_path, deploy_hash| File.write(file_path, Manipulation.merge_hash(deploy_hash, env_obj.to_h).to_plain_yaml) end Manipulation.write_configs_encode_if_needed(env_obj.config_hsh, env_obj.secret_hsh, full_output_dir, configuration[:project_name]) end |