Class: Foobara::Generators::RackConnectorGenerator::WriteRackConnectorToDisk
Constant Summary
TruncatedInspect::MAX_LENGTH
Instance Attribute Summary
#paths_to_source_code
Class Method Summary
collapse
Instance Method Summary
collapse
#delete_old_files_if_needed, #generate_generated_files_json, #generated_files_json_filename, #run_cmd_and_return_output, #run_cmd_and_write_output, #stats, #write_all_files_to_disk, #write_file_to_disk
Methods inherited from Command
install!
#inspect, truncating
Methods included from Concern
foobara_class_methods_module_for, foobara_concern?, included
Class Method Details
.generator_key ⇒ Object
8
9
10
|
# File 'src/write_rack_connector_to_disk.rb', line 8
def generator_key
"rack-connector"
end
|
Instance Method Details
#bundle_install ⇒ Object
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'src/write_rack_connector_to_disk.rb', line 51
def bundle_install
puts "bundling..."
cmd = "bundle install"
Bundler.with_unbundled_env do
Open3.popen3(cmd) do |_stdin, _stdout, stderr, wait_thr|
exit_status = wait_thr.value
unless exit_status.success?
warn "WARNING: could not #{cmd}\n#{stderr.read}"
end
end
end
end
|
#default_output_directory ⇒ Object
33
34
35
|
# File 'src/write_rack_connector_to_disk.rb', line 33
def default_output_directory
"."
end
|
#execute ⇒ Object
21
22
23
24
25
26
27
|
# File 'src/write_rack_connector_to_disk.rb', line 21
def execute
generate_file_contents
write_all_files_to_disk
run_post_generation_tasks
stats
end
|
#generate_file_contents ⇒ Object
37
38
39
40
41
42
|
# File 'src/write_rack_connector_to_disk.rb', line 37
def generate_file_contents
puts "generating files..."
self.paths_to_source_code = run_subcommand!(GenerateRackConnector,
rack_connector_config.attributes)
end
|
#output_directory ⇒ Object
29
30
31
|
# File 'src/write_rack_connector_to_disk.rb', line 29
def output_directory
inputs[:output_directory] || default_output_directory
end
|
#rubocop_autocorrect ⇒ Object
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'src/write_rack_connector_to_disk.rb', line 68
def rubocop_autocorrect
puts "linting..."
cmd = "bundle exec rubocop --no-server -A"
Open3.popen3(cmd) do |stdin, _stdout, stderr, wait_thr|
exit_status = wait_thr.value
unless exit_status.success?
warn "WARNING: could not #{cmd}.\n#{stdin.read}\n#{stderr.read}"
end
end
end
|
#run_post_generation_tasks ⇒ Object
44
45
46
47
48
49
|
# File 'src/write_rack_connector_to_disk.rb', line 44
def run_post_generation_tasks
Dir.chdir output_directory do
bundle_install
rubocop_autocorrect
end
end
|