Class: Skiff::Cli

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


6
# File 'lib/skiff/cli.rb', line 6

def self.exit_on_failure?() true end

Instance Method Details

#deployObject



34
35
36
# File 'lib/skiff/cli.rb', line 34

def deploy
  kamal "setup"
end

#devObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/skiff/cli.rb', line 21

def dev
  if File.exist?("Dockerfile")
    puts "Starting #{site_name} on http://localhost:8080..."

    docker "build -t #{site_name} ."
    docker "run -it --rm -p 8080:80 -v ./public:/site/public --name #{site_name} #{site_name} nginx '-g daemon off;'"
  else
    say "No Dockerfile found in current directory", :red
  end
end

#flushObject



40
41
42
# File 'lib/skiff/cli.rb', line 40

def flush
  kamal_exec 'find /site/public -type f -name "*.html" -exec touch {} \;'
end

#logsObject



58
59
60
# File 'lib/skiff/cli.rb', line 58

def logs
  kamal "app logs -f"
end

#new(site_name) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/skiff/cli.rb', line 11

def new(site_name)
  self.destination_root = File.expand_path(site_name)

  @site_name = site_name
  @user_name = `whoami`.strip

  eval File.read(File.join(File.dirname(__FILE__), "templates/site.rb"))
end

#refreshObject



52
53
54
# File 'lib/skiff/cli.rb', line 52

def refresh
  kamal_exec 'git checkout -f & git pull \$GIT_URL'
end

#restartObject



46
47
48
# File 'lib/skiff/cli.rb', line 46

def restart
  kamal_exec "nginx -t && nginx -s reload"
end

#versionObject



63
64
65
# File 'lib/skiff/cli.rb', line 63

def version
  say Skiff::VERSION
end