class DeployCR::Task::CloneProject

Included Modules

Defined in:

deploy-cr/task/clone_project.cr

Constant Summary

CLASS_CONFIG = {:context => {:step_count => 3, :nested => {:step_count => 0, :steps => []}}, 1 => {:method => create_directory!, :step_type => :step}, 2 => {:method => remove_old_directory!, :step_type => :step}, 3 => {:method => clone_repository!, :step_type => :step}} of Nil => Nil

The following hash CLASS_CONFIG saves all information about the steps and given options. So its the "operation class config". This variable is available during AST node parsing. Thanks to inherited hook it is @type.id class related and not super class.

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module DeployCR::Task::CloneProject::Properties

source : String source, source=(source : String) source=, source? : String | Nil source?

Instance methods inherited from class DeployCR::Operation

failure?(step_name : Symbol, step_type : Symbol | Nil = nil)
failure?
failure?
, host : String host, host=(host : String) host=, host? : String | Nil host?, log : Hathor::OperationLogger log, log=(log) log=, run
run(*args, **options)
run
, run_process(cmd, args = nil, output = DeployCR.stdout, chdir = File.join(app_path, tmppath), shell = false) run_process, ssh(*args, **options) ssh, status : Bool status, status=(status) status=, success?(step_name : Symbol, step_type : Symbol | Nil = nil)
success? : Bool
success?
, tmppath : String tmppath, tmppath=(tmppath : String) tmppath=, update_operation_state(new_status : Bool, step : Symbol, step_type : Symbol, log_reason = "updated without submitting reason", force : Bool = false)
update_operation_state(new_status : Bool, log_reason = "updated without submitting reason", force = false)
update_operation_state
, user : String user, user=(user : String) user=, user? : String | Nil user?

Class methods inherited from class DeployCR::Operation

configure(&) configure, run(*args, **options) run

Instance methods inherited from module DeployCR

app_name_by_path app_name_by_path, app_path app_path, tmp_path tmp_path

Class methods inherited from module DeployCR

stderr stderr, stdout stdout

Constructor Detail

def self.new(source : Nil | String) #

[View source]

Class Method Detail

def self.run(*args, **options) #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


Instance Method Detail

def clone_repository! #

[View source]
def create_directory! #

[View source]
def failure?(step_name : Symbol, step_type : Symbol | Nil = nil) #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def failure? #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def log : Hathor::OperationLogger #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def log=(log) #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def remove_old_directory! #

[View source]
def run #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def status : Bool #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def status=(status) #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def success?(step_name : Symbol, step_type : Symbol | Nil = nil) #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def success? : Bool #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def update_operation_state(new_status : Bool, step : Symbol, step_type : Symbol, log_reason = "updated without submitting reason", force : Bool = false) #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.


def update_operation_state(new_status : Bool, log_reason = "updated without submitting reason", force = false) #

Finished hook is the last thing of AST node parsing. By putting it inside inherited macro, we ensure that it will be run after simple macros are over and only for the @type.id class. So this is THE REALLY LAST THING OF AST.