class AppCommand::Generate
Public Instance Methods
execute()
click to toggle source
# File lib/routes/generate.rb, line 5 def execute begin @opts = command_options @args = arguments @verbose = !@opts[:silent] @errors = [] @generated = [] @overwritten = [] opts_validate opts_routing rescue => e Blufin::Terminal::print_exception(e) end end
opts_routing()
click to toggle source
# File lib/routes/generate.rb, line 61 def opts_routing Blufin::Terminal::execute_proc("Processing: #{Blufin::Terminal::format_highlight('Routes')}", Proc.new { rg, ro = EWorld::RouteWriter::write(@ui_project, @routes_to_write) @generated.concat(rg) @overwritten.concat(ro) }, verbose: @verbose) # Reformat front-end. Blufin::Terminal::execute_proc('Re-formatting UI codebase', Proc.new { Blufin::Terminal::execute('git add .', @project_path_ui, verbose: false) Blufin::Terminal::execute('yarn format', @project_path_ui, verbose: false) }, verbose: @verbose) puts if @verbose && !@generated.any? && !@overwritten.any? Blufin::Terminal::custom('Generated', 22, 'The following files were generated:', @generated) if @generated.any? Blufin::Terminal::custom('Overwritten', 55, 'The following files were overwritten:', @overwritten) if @overwritten.any? end
opts_validate()
click to toggle source
# File lib/routes/generate.rb, line 29 def opts_validate # TODO - This cannot be hard-coded forever! group = 'fmm' # Get API Project. api_projects = Blufin::Projects.get_projects_as_array(group: group, types: [Blufin::Projects::TYPE_API_SIMPLE]) @api_project = Blufin::Projects.show_project_prompt(api_projects) # Get Quasar Project. ui_projects = Blufin::Projects.get_projects_as_array(group: group, types: [Blufin::Projects::TYPE_QUASAR]) @ui_project = Blufin::Projects.show_project_prompt(ui_projects) # Get project path(s). @project_path = Blufin::Projects::get_project_path(@api_project[Blufin::Projects::PROJECT_ID]) @project_path_ui = Blufin::Projects::get_project_path(@ui_project[Blufin::Projects::PROJECT_ID], true) puts if @verbose Blufin::Terminal::execute_proc("Scanning: #{Blufin::Terminal::format_highlight('Routes')}", Proc.new { eb = @errors.length @routes_to_write, re = EWorld::RouteScanner::scan(@ui_project) @errors.concat(re) eb == @errors.length }, verbose: @verbose) puts if @errors.any? && @verbose Blufin::ScannerError::output_cli(@errors, false) if @errors.any? end