Class: Factorix::CLI::Commands::MOD::Show

Inherits:
Base
  • Object
show all
Includes:
PortalSupport
Defined in:
lib/factorix/cli/commands/mod/show.rb

Overview

Show detailed MOD information from portal

Instance Method Summary collapse

Methods inherited from Base

backup_support!, confirmable!, inherited, require_game_stopped!

Instance Method Details

#call(mod_name:, json:) ⇒ void

This method returns an undefined value.

Execute the show command

Parameters:

  • mod_name (String)

    MOD name to show details for

  • json (Boolean)

    output in JSON format

Raises:



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/factorix/cli/commands/mod/show.rb', line 46

def call(mod_name:, json:, **)
  mod = Factorix::MOD[mod_name]
  raise BundledMODError, "Cannot show base MOD" if mod.base?
  raise BundledMODError, "Cannot show expansion MOD: #{mod_name}" if mod.expansion?

  mod_info = portal.get_mod_full(mod_name)
  local_status = fetch_local_status(mod_name)

  if json
    output_json(mod_info, local_status)
  else
    display_header(mod_info)
    display_basic_info(mod_info, local_status)
    display_links(mod_info)
    display_dependencies(mod_info)
    display_incompatibilities(mod_info)
  end
end