Class: Mimas::CLI::Commands::Env::Edit

Inherits:
Env
  • Object
show all
Defined in:
lib/mimas/commands/env/edit.rb

Instance Method Summary collapse

Instance Method Details

#call(site:, server_name:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/mimas/commands/env/edit.rb', line 7

def call(site:, server_name:)
  site    = Config.current.sites[site.to_sym]
  server  = Config.current.servers[server_name.to_sym]

  tmp_env_file = Pathname.new(".").join("tmp", ".#{site.name}.mimas.env")

  system "mkdir -p tmp"

  ssh(server) do |session|
    session.run "mkdir -p #{server.site_root(site)}"
    session.run "touch #{server.site_root(site).join(".env")}"

    session.download server.site_root(site).join(".env"), tmp_env_file

    system "$EDITOR --wait #{tmp_env_file}"

    session.upload tmp_env_file.to_s, server.site_root(site).join(".env")
  end

ensure
  system "rm #{tmp_env_file}"
end