Class: Spiker::BaseGenerator
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Spiker::BaseGenerator
show all
- Includes:
- Thor::Actions
- Defined in:
- lib/spiker/base_generator.rb
Overview
BaseGenerator handles the common steps for all generators, including allowing for
several feature skips. Inherited this generator - not to be used directly.
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.source_root ⇒ Object
11
12
13
|
# File 'lib/spiker/base_generator.rb', line 11
def self.source_root
File.expand_path("../spiker/templates", __dir__)
end
|
Instance Method Details
#create_docker_files ⇒ Object
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/spiker/base_generator.rb', line 37
def create_docker_files
if options[:skip_docker]
say "🛑 Skipping Dockerfile and docker-compose.yml generation (--skip-docker was passed)", :yellow
return if options[:skip_docker]
end
template("common/Dockerfile.tt", "#{spike_name}/Dockerfile")
template("common/docker-compose.yml.tt", "#{spike_name}/docker-compose.yml")
template("common/Makefile.tt", "#{spike_name}/Makefile")
end
|
#create_env_file ⇒ Object
33
34
35
|
# File 'lib/spiker/base_generator.rb', line 33
def create_env_file
template("common/basic.env.tt", "#{spike_name}/.env")
end
|
#create_gem_file ⇒ Object
29
30
31
|
# File 'lib/spiker/base_generator.rb', line 29
def create_gem_file
template("#{generator_name}/Gemfile.tt", "#{spike_name}/Gemfile")
end
|
#create_guard_file ⇒ Object
25
26
27
|
# File 'lib/spiker/base_generator.rb', line 25
def create_guard_file
template("#{generator_name}/Guardfile.tt", "#{spike_name}/Guardfile")
end
|
#create_spike_directory ⇒ Object
21
22
23
|
# File 'lib/spiker/base_generator.rb', line 21
def create_spike_directory
empty_directory(spike_name)
end
|
#generator_name ⇒ Object
15
16
17
18
19
|
# File 'lib/spiker/base_generator.rb', line 15
def generator_name
name = self.class.name.split("::").last
name.gsub(/([a-z])([A-Z])/, '\1_\2').downcase
end
|
#run_bundle_install ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/spiker/base_generator.rb', line 48
def run_bundle_install
if options[:skip_bundle]
say "🛑 Skipping bundle install (--skip-bundle was passed)", :yellow
return
end
inside(spike_name) do
Bundler.with_unbundled_env do
system("bundle install")
end
end
end
|
#run_git_init ⇒ Object
61
62
63
64
65
66
67
68
69
|
# File 'lib/spiker/base_generator.rb', line 61
def run_git_init
if options[:skip_git]
say "🛑 Skipping git init (--skip-git was passed)", :yellow
return
end
say "📦 Running `git init`...", :green
inside(File.join(destination_root, spike_name)) { run "git init" }
end
|