Class: Picobox::Commands::SshInstance

Inherits:
Utils::VisitorByOs show all
Defined in:
lib/picobox/commands/ssh_instance.rb

Instance Method Summary collapse

Methods inherited from Utils::VisitorByOs

#visit, #visit_unsupported, #visit_windows

Methods included from Utils::DomainEventPublisher

#publish_event

Constructor Details

#initialize(service) ⇒ SshInstance

Returns a new instance of SshInstance.



4
5
6
# File 'lib/picobox/commands/ssh_instance.rb', line 4

def initialize(service)
  @service = service
end

Instance Method Details

#visit_darwin(subject) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/picobox/commands/ssh_instance.rb', line 8

def visit_darwin subject
  publish_event :opening_shell, service

  raise Errors::ProjectNotInitialized unless os.project_initialized?
  raise Errors::SystemDownError unless os.project_running?

  system "bash", "-c", "docker-compose exec #{service} bash"
end

#visit_linux(subject) ⇒ Object



18
19
20
# File 'lib/picobox/commands/ssh_instance.rb', line 18

def visit_linux subject
  visit_darwin subject
end