Class: Consolle::Server::SupervisorFactory
- Inherits:
-
Object
- Object
- Consolle::Server::SupervisorFactory
- Defined in:
- lib/consolle/server/supervisor_factory.rb
Overview
Factory for creating the appropriate supervisor based on configuration
Modes:
-
:pty - PTY-based, supports custom command (local/remote)
-
:embed_irb - Pure IRB embedding (Ruby 3.3+, local only)
-
:embed_rails - Rails console embedding (Ruby 3.3+, local only)
Constant Summary collapse
- MODES =
%i[pty embed_irb embed_rails].freeze
- EMBEDDED_MODES =
%i[embed_irb embed_rails].freeze
Class Method Summary collapse
-
.create(rails_root:, mode: :pty, **options) ⇒ BaseSupervisor
Create a supervisor instance.
-
.embedded_available? ⇒ Boolean
Check if embedded mode is available (Ruby 3.3+).
Class Method Details
.create(rails_root:, mode: :pty, **options) ⇒ BaseSupervisor
Create a supervisor instance
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/consolle/server/supervisor_factory.rb', line 24 def create(rails_root:, mode: :pty, **) mode = normalize_mode(mode) validate_mode!(mode) case mode when :pty create_pty_supervisor(rails_root, ) when :embed_irb (rails_root, :embed_irb, ) when :embed_rails (rails_root, :embed_rails, ) end end |
.embedded_available? ⇒ Boolean
Check if embedded mode is available (Ruby 3.3+)
40 41 42 |
# File 'lib/consolle/server/supervisor_factory.rb', line 40 def EmbeddedSupervisor.supported? end |