Class: Script::Layers::Application::BuildScript

Inherits:
Object
  • Object
show all
Defined in:
lib/project_types/script/layers/application/build_script.rb

Class Method Summary collapse

Class Method Details

.call(ctx:, task_runner:, script:) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/project_types/script/layers/application/build_script.rb', line 8

def call(ctx:, task_runner:, script:)
  return if CLI::UI::Frame.open(ctx.message('script.application.building')) do
    begin
      UI::StrictSpinner.spin(ctx.message('script.application.building_script')) do |spinner|
        build(ctx, task_runner, script)
        spinner.update_title(ctx.message('script.application.built'))
      end
      true
    rescue StandardError => e
      CLI::UI::Frame.with_frame_color_override(:red) do
        ctx.puts("\n{{red:#{e.message}}}")
      end
      false
    end
  end
  raise Infrastructure::Errors::BuildError
end