class Mamiya::Agent::Tasks::Prepare
Public Instance Methods
check()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 16 def check unless package_path.exist? new_chain = ['prepare'] + (task['_chain'] || []) logger.info "Package not fetched, enqueueing fetch task with #{new_chain.inspect}" task_queue.enqueue( :fetch, task.merge('_chain' => new_chain) ) return false end true end
execute()
click to toggle source
Calls superclass method
Mamiya::Agent::Tasks::Notifyable#execute
# File lib/mamiya/agent/tasks/prepare.rb, line 11 def execute return unless check super end
run()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 30 def run if prerelease_path.exist? if prerelease_path.join('.mamiya.prepared').exist? return else FileUtils.remove_entry_secure prerelease_path end end packages_dir.join(application).mkpath prereleases_dir.join(application).mkpath extract_step.run! prepare_step.run! task_queue.enqueue(:clean, {}) end
Private Instance Methods
application()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 50 def application task['app'] end
extract_step()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 84 def extract_step @extract_step ||= Mamiya::Steps::Extract.new( package: package_path, destination: prerelease_path, config: config, logger: logger, ) end
labels()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 79 def labels @labels ||= agent.labels end
package()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 54 def package task['pkg'] end
package_path()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 70 def package_path packages_dir.join(application, "#{package}.tar.gz") end
packages_dir()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 62 def packages_dir @packages_dir ||= config.packages_dir end
prepare_step()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 93 def prepare_step @prepare_step ||= Mamiya::Steps::Prepare.new( script: nil, target: prerelease_path, config: config, labels: labels, logger: logger, ) end
prerelease_path()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 74 def prerelease_path prereleases_dir.join(application, release_name) end
prereleases_dir()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 66 def prereleases_dir @prereleases_dir ||= config.prereleases_dir end
release_name()
click to toggle source
# File lib/mamiya/agent/tasks/prepare.rb, line 58 def release_name task['release'] || package end