require 'bundler/setup' $:.unshift File.expand_path('../lib', __FILE__) DOCKER_COMPOSE='docker-compose.yml' desc 'entorno vivo' namespace :live do task :up do compose('up', '--build', '-d', compose: DOCKER_COMPOSE) end desc 'monitorear salida' task :tail do compose('logs', '-f', 'escpos', compose: DOCKER_COMPOSE) end desc 'monitorear salida' task :tail_end do compose('logs', '-f', '-n 50', 'escpos', compose: DOCKER_COMPOSE) end desc 'detener entorno' task :down do compose('down', compose: DOCKER_COMPOSE) end desc 'detener entorno' task :stop do compose('stop', compose: DOCKER_COMPOSE) end desc 'eliminar entorno' task :del do compose('down', '-v', '--rmi', 'all', compose: DOCKER_COMPOSE) end desc 'reiniciar entorno' task :restart do compose('restart', compose: DOCKER_COMPOSE) end desc 'detener entorno' task :stop do compose('stop', compose: DOCKER_COMPOSE) end desc 'terminal' task :sh do compose('exec', 'escpos', 'bash') end end desc 'iterar' task :tdd do compose('exec', 'escpos', "bash -c 'cd Api && flake8 *'") compose('exec', 'escpos', "bash -c 'cd Api && pytest -vvv'") end def compose(*arg, compose: DOCKER_COMPOSE) sh "docker compose -f #{compose} #{arg.join(' ')}" end