Class: Everywhere::Commands::Install

Inherits:
Dry::CLI::Command
  • Object
show all
Defined in:
lib/everywhere/commands/install.rb

Overview

Prepare an existing app for packaged desktop life. Idempotent: skips anything already in place.

Instance Method Summary collapse

Instance Method Details

#call(root: ".", path: nil) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/everywhere/commands/install.rb', line 17

def call(root: ".", path: nil, **)
  @framework = Framework.detect(root)
  @root = @framework.root
  UI.step("#{UI.bold(@framework.name)} app at #{@root}")

  # Common to every framework.
  add_gem(path)
  write_config
  write_boot_stub

  # Framework-specific config surgery.
  send("install_#{@framework.name}")

  UI.success("installed — run `every dev` to open the app, `every build` to package it")
end