class Cloudspin::Stack::Rake::ArtefactTask
Public Class Methods
new(definition_folder:, dist_folder:)
click to toggle source
# File lib/cloudspin/stack/rake/artefact_task.rb, line 7 def initialize(definition_folder:, dist_folder:) @definition_folder = definition_folder @dist_folder = dist_folder define end
Public Instance Methods
add_file(filename)
click to toggle source
# File lib/cloudspin/stack/rake/artefact_task.rb, line 35 def add_file(filename) builder.add_file_to_package(filename) if File.exists?(filename) end
add_folder(folder)
click to toggle source
# File lib/cloudspin/stack/rake/artefact_task.rb, line 31 def add_folder(folder) builder.add_folder_to_package(folder) if Dir.exists?(folder) end
builder()
click to toggle source
# File lib/cloudspin/stack/rake/artefact_task.rb, line 39 def builder @builder ||= Cloudspin::Stack::Artefact::Builder.new( stack_definition: stack_definition, dist_folder: @dist_folder ) end
define()
click to toggle source
# File lib/cloudspin/stack/rake/artefact_task.rb, line 13 def define desc 'Assemble files to be packaged' task :build, [:test_folder, :environments_folder, :instance_defaults_file] do |t, args| add_folder(args[:test_folder] || './test') add_folder(args[:environments_folder] || './environments') add_file(args[:instance_defaults_file] || './stack-instance-defaults.yaml') ['Rakefile', 'Gemfile', 'Gemfile.lock'].each { |f| add_file(f) if File.exists? f } builder.build end desc 'Package the artefact' task :package do |t, args| builder.package end end
stack_definition()
click to toggle source
# File lib/cloudspin/stack/rake/artefact_task.rb, line 46 def stack_definition @definition ||= Cloudspin::Stack::Definition.from_file(@definition_folder + '/stack-definition.yaml') end