class Kikubari::Deploy::Configuration
Attributes
after[RW]
before[RW]
config[RW]
current_deploy_folder[RW]
date_folder[RW]
debug[RW]
deploy_file[RW]
deploy_folder[RW]
do[RW]
dry_run[RW]
env_time_folder[RW]
environment_folder[RW]
rollback[RW]
verbose[RW]
Public Class Methods
new( file , *params )
click to toggle source
# File lib/configuration/deploy_configuration.rb, line 25 def initialize( file , *params ) unless File.exist?(file) raise "Deploy guide file doesn't exists: #{file}" end @deploy_file = parse_config_file(file) @config = @deploy_file.config || {} @do = @deploy_file.do || {} @after = @deploy_file.after @before = @deploy_file.before raise ArgumentError, "There is no params for deploy" if params.size == 0 ## verify all arguments for params are present @verbose = false params.first.each do |key,value| instance_variable_set "@#{key}".strip, value end unless File.directory? @deploy_folder raise ArgumentError , "Deploy folder #{@deploy_folder} is not a valid deploy folder" end @environment_folder = @deploy_folder.join "releases" @date_folder = DateTime.now.strftime("%Y%m%d%H%M%S%L") @env_time_folder = @environment_folder.join @date_folder @current_deploy_folder = @environment_folder.join "current" end
Public Instance Methods
get_deployer_class()
click to toggle source
Return a class name for create a deployer instance for deployment process
# File lib/configuration/deploy_configuration.rb, line 58 def get_deployer_class fw_class = ( @config.framework ) ? @config.framework.downcase.capitalize : "" fw_system = ( @config.system ) ? @config.system.downcase.capitalize : "" "#{fw_class}#{fw_system}Deployer" end
Private Instance Methods
parse_config_file(file)
click to toggle source
# File lib/configuration/deploy_configuration.rb, line 66 def parse_config_file(file) @deploy_file = YAML::load_file(file) JSON.parse(@deploy_file.to_json, object_class: OpenStruct) end