Class: Spoor::CLI

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/spoor/cli.rb

Overview

Main CLI that run the command

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ CLI

Returns a new instance of CLI.



11
12
13
14
# File 'lib/spoor/cli.rb', line 11

def initialize(*args)
  super
  Dotenv.load(".env") # Load .env file
end

Instance Method Details

#bashObject



67
68
69
70
# File 'lib/spoor/cli.rb', line 67

def bash
  Spoor.check_docker
  run_in_container("web", "bash")
end

#bundle(*args) ⇒ Object



43
44
45
46
# File 'lib/spoor/cli.rb', line 43

def bundle(*args)
  Spoor.check_docker
  run_in_container("web", "bundle", *args)
end

#downObject



30
31
32
33
34
# File 'lib/spoor/cli.rb', line 30

def down
  Spoor.check_docker
  say "Stopping Spoor..."
  system("docker-compose down")
end

#installObject



18
19
20
# File 'lib/spoor/cli.rb', line 18

def install
  Spoor.install(force_dockerfile: options[:force_dockerfile])
end

#psqlObject



55
56
57
58
# File 'lib/spoor/cli.rb', line 55

def psql
  Spoor.check_docker
  run_in_container("db", "psql", "-U", "rails", "-d", "rails_development")
end

#rails(*args) ⇒ Object



37
38
39
40
# File 'lib/spoor/cli.rb', line 37

def rails(*args)
  Spoor.check_docker
  run_in_container("web", "rails", *args)
end

#rake(*args) ⇒ Object



49
50
51
52
# File 'lib/spoor/cli.rb', line 49

def rake(*args)
  Spoor.check_docker
  run_in_container("web", "rake", *args)
end

#redisObject



61
62
63
64
# File 'lib/spoor/cli.rb', line 61

def redis
  Spoor.check_docker
  run_in_container("redis", "redis-cli")
end

#upObject



23
24
25
26
27
# File 'lib/spoor/cli.rb', line 23

def up
  Spoor.check_docker
  say "Starting Spoor..."
  system("docker-compose up -d")
end