Class: Consolle::Server::BaseSupervisor

Inherits:
Object
  • Object
show all
Defined in:
lib/consolle/server/base_supervisor.rb

Overview

Base interface for console supervisors Both PTY-based and embedded IRB modes inherit from this class

Direct Known Subclasses

EmbeddedSupervisor

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rails_root:, rails_env: 'development', logger: nil) ⇒ BaseSupervisor

Returns a new instance of BaseSupervisor.



10
11
12
13
14
15
# File 'lib/consolle/server/base_supervisor.rb', line 10

def initialize(rails_root:, rails_env: 'development', logger: nil)
  @rails_root = rails_root
  @rails_env = rails_env
  @logger = logger || Logger.new($stdout)
  @config = Consolle::Config.load(rails_root)
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



8
9
10
# File 'lib/consolle/server/base_supervisor.rb', line 8

def config
  @config
end

#loggerObject (readonly)

Returns the value of attribute logger.



8
9
10
# File 'lib/consolle/server/base_supervisor.rb', line 8

def logger
  @logger
end

#rails_envObject (readonly)

Returns the value of attribute rails_env.



8
9
10
# File 'lib/consolle/server/base_supervisor.rb', line 8

def rails_env
  @rails_env
end

#rails_rootObject (readonly)

Returns the value of attribute rails_root.



8
9
10
# File 'lib/consolle/server/base_supervisor.rb', line 8

def rails_root
  @rails_root
end

Instance Method Details

#eval(code, timeout: 60) ⇒ Hash

Execute code and return result

Parameters:

  • code (String)

    Ruby code to evaluate

  • timeout (Integer) (defaults to: 60)

    Timeout in seconds

Returns:

  • (Hash)

    Result hash with :success, :output, :execution_time, etc.

Raises:

  • (NotImplementedError)


21
22
23
# File 'lib/consolle/server/base_supervisor.rb', line 21

def eval(code, timeout: 60)
  raise NotImplementedError, "#{self.class} must implement #eval"
end

#modeSymbol

Returns the mode name for logging/debugging

Returns:

  • (Symbol)

    :pty or :embedded

Raises:

  • (NotImplementedError)


43
44
45
# File 'lib/consolle/server/base_supervisor.rb', line 43

def mode
  raise NotImplementedError, "#{self.class} must implement #mode"
end

#restartObject

Restart the console

Raises:

  • (NotImplementedError)


37
38
39
# File 'lib/consolle/server/base_supervisor.rb', line 37

def restart
  raise NotImplementedError, "#{self.class} must implement #restart"
end

#running?Boolean

Check if the console is running and ready

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


27
28
29
# File 'lib/consolle/server/base_supervisor.rb', line 27

def running?
  raise NotImplementedError, "#{self.class} must implement #running?"
end

#stopObject

Stop the console

Raises:

  • (NotImplementedError)


32
33
34
# File 'lib/consolle/server/base_supervisor.rb', line 32

def stop
  raise NotImplementedError, "#{self.class} must implement #stop"
end