Class: Ace::Review::CLI::Commands::FeedbackSubcommands::Show

Inherits:
Support::Cli::Command
  • Object
show all
Includes:
SessionDiscovery, Support::Cli::Base
Defined in:
lib/ace/review/cli/commands/feedback/show.rb

Overview

ace-support-cli Command class for feedback show

Displays detailed information about a feedback item.

Instance Method Summary collapse

Methods included from SessionDiscovery

#find_all_sessions, #find_latest_session, #resolve_feedback_path, #resolve_session_dir

Instance Method Details

#call(id:, **options) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/ace/review/cli/commands/feedback/show.rb', line 41

def call(id:, **options)
  # Validate ID length
  if id.length < 3
    raise Ace::Support::Cli::Error.new("ID must be at least 3 characters for matching.")
  end

  # Resolve feedback path from session context
  base_path = resolve_feedback_path(options)

  unless base_path
    raise Ace::Support::Cli::Error.new("No session found. Run a review first or use --session to specify path.")
  end

  debug_log("Feedback base path: #{base_path}", options)

  # Find item by ID (supports partial matching)
  item = find_item_by_id(base_path, id, include_archived: true)

  unless item
    raise Ace::Support::Cli::Error.new("Feedback item not found: #{id}")
  end

  display_item(item)
end