Class: Concourse::Pipeline
- Inherits:
-
Object
- Object
- Concourse::Pipeline
- Includes:
- Util
- Defined in:
- lib/concourse/pipeline.rb
Constant Summary
Constants included from Util
Util::GITATTRIBUTES_FILE, Util::GITIGNORE_FILE
Instance Attribute Summary collapse
-
#directory ⇒ Object
readonly
Returns the value of attribute directory.
-
#erb_filename ⇒ Object
readonly
Returns the value of attribute erb_filename.
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#ytt ⇒ Object
readonly
Returns the value of attribute ytt.
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(name, directory, erb_filename, options = {}) ⇒ Pipeline
constructor
A new instance of Pipeline.
Methods included from Util
#docker_compose, #docker_compose_path, #each_job, #each_task, #ensure_in_gitignore, #erbify_file, #find_task, #fly, #note, #running, #sh
Constructor Details
#initialize(name, directory, erb_filename, options = {}) ⇒ Pipeline
Returns a new instance of Pipeline.
7 8 9 10 11 12 13 |
# File 'lib/concourse/pipeline.rb', line 7 def initialize name, directory, erb_filename, ={} @name = name @directory = directory @erb_filename = File.join(@directory, erb_filename) @filename = File.join(@directory, erb_filename + ".generated") @ytt = .key?(:ytt) ? [:ytt] : false end |
Instance Attribute Details
#directory ⇒ Object (readonly)
Returns the value of attribute directory.
5 6 7 |
# File 'lib/concourse/pipeline.rb', line 5 def directory @directory end |
#erb_filename ⇒ Object (readonly)
Returns the value of attribute erb_filename.
5 6 7 |
# File 'lib/concourse/pipeline.rb', line 5 def erb_filename @erb_filename end |
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
5 6 7 |
# File 'lib/concourse/pipeline.rb', line 5 def filename @filename end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
5 6 7 |
# File 'lib/concourse/pipeline.rb', line 5 def name @name end |
#ytt ⇒ Object (readonly)
Returns the value of attribute ytt.
5 6 7 |
# File 'lib/concourse/pipeline.rb', line 5 def ytt @ytt end |
Instance Method Details
#generate ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/concourse/pipeline.rb', line 15 def generate Tempfile.create(["pipeline", ".yml"]) do |f| f.write erbify_file(erb_filename, working_directory: directory) f.close if ytt ytt_args = ["-f #{f.path}"] ytt_args << "-f #{File.expand_path(File.join(File.dirname(__FILE__), "ytt"))}" ytt_args << "-f #{File.join(directory, ytt)}" if ytt.is_a?(String) sh ["ytt", ytt_args, "> #{filename}"].flatten.join(" ") else FileUtils.mv f.path, filename, force: true end end end |