Class: Cody::CLI::Init
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Sequence
source_paths
#cfn, #codebuild
#are_you_sure?, #find_stack, #inferred_project_name, #inferred_stack_name, #normalize_stack_name, #project_name_convention, #stack_exists?
Class Method Details
.cli_options ⇒ Object
Ugly, this is how I can get the options from to match with this Thor::Group
4
5
6
7
8
9
10
11
12
13
|
# File 'lib/cody/cli/init.rb', line 4
def self.cli_options
[
[:force, type: :boolean, desc: "Bypass overwrite are you sure prompt for existing files"],
[:name, desc: "CodeBuild project name"],
[:mode, default: "light", desc: "Modes: light or full"],
[:template, desc: "Custom template to use"],
[:template_mode, desc: "Template mode: replace or additive"],
[:type, desc: "Type option creates a subfolder under .cody"],
]
end
|
Instance Method Details
#copy_project ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/cody/cli/init.rb', line 48
def copy_project
dest = ".cody"
dest = "#{dest}/#{@options[:type]}" if @options[:type]
excludes = %w[.git]
if @options[:mode] == "light"
excludes += %w[
role.rb
schedule.rb
]
end
pattern = Regexp.new(excludes.join('|'))
directory "project", dest, exclude_pattern: pattern
end
|
#copy_top_level ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/cody/cli/init.rb', line 35
def copy_top_level
dest = ".cody"
excludes = %w[.git]
if @options[:mode] == "light"
excludes += %w[
settings.yml
variables
]
end
pattern = Regexp.new(excludes.join('|'))
directory "top", dest, exclude_pattern: pattern
end
|
#set_source_path ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/cody/cli/init.rb', line 22
def set_source_path
return unless @options[:template]
custom_template = "#{ENV['HOME']}/.cody/templates/#{full_repo_name}"
if @options[:template_mode] == "replace" override_source_paths(custom_template)
else default_template = File.expand_path("../../template", __FILE__)
override_source_paths([custom_template, default_template])
end
end
|
#setup_template_repo ⇒ Object
16
17
18
19
20
|
# File 'lib/cody/cli/init.rb', line 16
def setup_template_repo
return unless @options[:template]&.include?('/')
sync_template_repo
end
|