Class: Soba::Commands::Status

Inherits:
Object
  • Object
show all
Defined in:
lib/soba/commands/status.rb

Instance Method Summary collapse

Instance Method Details

#execute(_global_options = {}, options = {}, _args = []) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/soba/commands/status.rb', line 12

def execute(_global_options = {}, options = {}, _args = [])
  # Allow test environment to override paths
  pid_file = ENV['SOBA_TEST_PID_FILE'] || File.expand_path('~/.soba/soba.pid')
  log_file = ENV['SOBA_TEST_LOG_FILE'] || File.expand_path('~/.soba/logs/daemon.log')
  status_file = ENV['SOBA_TEST_STATUS_FILE'] || File.expand_path('~/.soba/status.json')

  pid_manager = Soba::Services::PidManager.new(pid_file)
  status_manager = Soba::Services::StatusManager.new(status_file)
  pid = pid_manager.read

  # JSON出力の場合
  if options[:json]
    output_json(pid_manager, status_manager, log_file, pid, options)
    return 0
  end

  # 通常のテキスト出力
  output_text(pid_manager, status_manager, log_file, pid, options)
end