Class: Picobox::Utils::VisitorByOs
Direct Known Subclasses
Commands::AddBox, Commands::AddService, Commands::BuildService, Commands::DownloadDocker, Commands::FinishInstall, Commands::FinishUninstall, Commands::GetRootPermission, Commands::InitializeProject, Commands::InstallConfig, Commands::InstallDocker, Commands::ListBoxes, Commands::ListServices, Commands::ReloadShell, Commands::RemoveService, Commands::RemoveSetupShell, Commands::Restart, Commands::SetupShell, Commands::SshInstance, Commands::Start, Commands::StartInstall, Commands::StartUninstall, Commands::Stop, Commands::UpdatePackages
Instance Method Summary
collapse
#publish_event
Instance Method Details
#visit(subject) ⇒ Object
6
7
8
9
10
|
# File 'lib/picobox/utils/visitor_by_os.rb', line 6
def visit subject
@os = subject.os
method_name = "visit_#{os.to_s}".intern
send(method_name, subject )
end
|
#visit_darwin(subject) ⇒ Object
12
13
14
|
# File 'lib/picobox/utils/visitor_by_os.rb', line 12
def visit_darwin subject
raise ::NotImplementedError, 'mac not supported'
end
|
#visit_linux(subject) ⇒ Object
16
17
18
|
# File 'lib/picobox/utils/visitor_by_os.rb', line 16
def visit_linux subject
raise ::NotImplementedError, 'linux not supported'
end
|
#visit_unsupported(subject) ⇒ Object
24
25
26
|
# File 'lib/picobox/utils/visitor_by_os.rb', line 24
def visit_unsupported subject
raise Errors::UnsupportedOsError, "#{TTY::Platform.new.os} is not yet supported :("
end
|
#visit_windows(subject) ⇒ Object
20
21
22
|
# File 'lib/picobox/utils/visitor_by_os.rb', line 20
def visit_windows subject
raise ::NotImplementedError, 'windows not supported'
end
|