Class: Aircon::Commands::Vscode

Inherits:
Object
  • Object
show all
Defined in:
lib/aircon/commands/vscode.rb

Instance Method Summary collapse

Constructor Details

#initialize(config:) ⇒ Vscode

Returns a new instance of Vscode.



6
7
8
# File 'lib/aircon/commands/vscode.rb', line 6

def initialize(config:)
  @config = config
end

Instance Method Details

#call(name) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/aircon/commands/vscode.rb', line 10

def call(name)
  container = Docker.find_container(project: name, service: @config.service)

  unless container
    abort "Error: No running container found for project '#{name}'.\n" \
          "Start one first with: aircon up #{name}"
  end

  hex_id = Docker.hex_encode_id(container)
  folder_uri = "vscode-remote://attached-container+#{hex_id}#{@config.workspace_path}"

  puts "Attaching VS Code to container #{container} for project '#{name}'..."
  system("code", "--folder-uri", folder_uri)
end