Class: StackCar::HammerOfTheGods
- Inherits:
-
Thor
- Object
- Thor
- StackCar::HammerOfTheGods
- Includes:
- Thor::Actions
- Defined in:
- lib/stack_car/cli.rb
Instance Method Summary collapse
- #bundle_exec(*args) ⇒ Object
- #console(*args) ⇒ Object
- #dockerize(dir = nil) ⇒ Object
- #exec(*args) ⇒ Object
- #stop ⇒ Object
- #up ⇒ Object
- #walk(*args) ⇒ Object
Instance Method Details
#bundle_exec(*args) ⇒ Object
34 35 36 |
# File 'lib/stack_car/cli.rb', line 34 def bundle_exec(*args) run("docker-compose exec #{options[:service]} bundle exec #{args.join(' ')}") end |
#console(*args) ⇒ Object
41 42 43 |
# File 'lib/stack_car/cli.rb', line 41 def console(*args) run("docker-compose exec #{options[:service]} bundle exec rails console #{args.join(' ')}") end |
#dockerize(dir = nil) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/stack_car/cli.rb', line 61 def dockerize(dir=nil) if dir Dir.chdir(dir) end project_name = File.basename(File.(dir)) db_libs = [] db_libs << "libpq-dev postgresql-client" if [:postgres] db_libs << "mysql-client" if [:mysql] db_libs << "libc6-dev libreoffice imagemagick unzip" if [:fcrepo] db_libs = db_libs.join(' ') template_path = File.join(File.dirname(__FILE__), '..', '..', 'templates') ['.dockerignore', 'Dockerfile', 'docker-compose.yml', 'docker-compose-prod.yml', '.gitlab-ci.yml', '.env'].each do |template| renderer = ERB.new(File.read(File.join(template_path, template + '.erb')), 0, '-') File.write(template, renderer.result(binding)) end end |
#exec(*args) ⇒ Object
27 28 29 |
# File 'lib/stack_car/cli.rb', line 27 def exec(*args) run("docker-compose exec #{options[:service]} #{args.join(' ')}") end |
#stop ⇒ Object
15 16 17 |
# File 'lib/stack_car/cli.rb', line 15 def stop run("docker-compose stop #{options[:service]}") end |
#up ⇒ Object
9 10 11 |
# File 'lib/stack_car/cli.rb', line 9 def up run("docker-compose up --build --remove-orphans #{options[:service]}") end |
#walk(*args) ⇒ Object
21 22 23 |
# File 'lib/stack_car/cli.rb', line 21 def walk(*args) run("docker-compose run #{options[:service]} #{args.join(' ')}") end |