Class: DeploymentTaskGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/deployment_task/deployment_task_generator.rb

Constant Summary collapse

VALID_PHASES =
%w[pre_deploy post_deploy].freeze

Instance Method Summary collapse

Instance Method Details

#create_task_fileObject



18
19
20
21
22
23
24
# File 'lib/generators/deployment_task/deployment_task_generator.rb', line 18

def create_task_file
  @version = Time.now.utc.strftime("%Y%m%d%H%M%S")
  @phase = options[:phase]
  @class_name = file_name.camelize
  task_dir = DeploymentTask.configuration.task_directory
  template "task.rb.tt", "#{task_dir}/#{@version}_#{file_name}.rb"
end

#validate_phaseObject

Raises:

  • (ArgumentError)


11
12
13
14
15
16
# File 'lib/generators/deployment_task/deployment_task_generator.rb', line 11

def validate_phase
  return if VALID_PHASES.include?(options[:phase])

  raise ArgumentError,
    "Invalid phase '#{options[:phase]}'. Must be one of: #{VALID_PHASES.join(', ')}"
end