Class: Space::Architect::CLI::Architect::Freeze

Inherits:
BaseCommand
  • Object
show all
Defined in:
lib/space_architect/cli/architect.rb

Instance Method Summary collapse

Methods inherited from BaseCommand

commit_message_options, phase

Instance Method Details

#call(iteration:, space: nil, message: nil, message_from: nil, force: false, skip_rehearse: nil, **opts) ⇒ Object



340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/space_architect/cli/architect.rb', line 340

def call(iteration:, space: nil, message: nil, message_from: nil, force: false, skip_rehearse: nil, **opts)
  setup_terminal(**opts.slice(:color, :colors))
  handle_errors do
    render(store.find(space)) do |sp|
      project = ArchitectProject.new(space: sp)
      warnings = []
      sha = project.freeze!(iteration, warnings: warnings, force: force, skip_rehearse_reason: skip_rehearse,
        message: read_commit_message(message: message, message_from: message_from))
      terminal.say "Frozen #{iteration} at #{sha}"
      terminal.say "Rehearsal requirement skipped — #{skip_rehearse}" if skip_rehearse
      warnings.each { |w| terminal.say "Warning: #{w}" }
      ac = project.acceptance_criteria(iteration)
      unless ac.to_s.strip.empty?
        terminal.say ""
        terminal.say "Frozen Acceptance Criteria (quote these verbatim when judging):"
        terminal.say ac
      end
      CLI.record_outcome(Outcome.new(exit_code: 0))
    end
  end
end