Class: Fp::Commands::Show

Inherits:
Base
  • Object
show all
Defined in:
lib/fp/commands/show.rb

Overview

fp show --project Show requirement details including evidence receipts

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Fp::Commands::Base

Instance Method Details

#run(args) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/fp/commands/show.rb', line 8

def run(args)
  opts, positional = parse_flags(args)
  require_flag(opts, :project)

  slug = positional.first
  unless slug
    output.error('Requirement slug is required. Usage: fp show <slug> --project <project>')
    exit 1
  end

  workspace_id = resolve_workspace_id(opts[:project])
  result = client.find_requirement_by_slug(workspace_id, slug)

  unless result[:ok]
    output.error(result[:error], status: result[:status])
    exit 1
  end

  requirement = result[:data]['requirement']

  output.success(result[:data]) do
    print_requirement(requirement)
  end
end