Sha256: 3b119c199c36b832ba53a7d3ee8827f0aa689a025d1e7e62643f6ee4a437191f
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
module Souls class Sync < Thor # rubocop:disable Style/StringHashKeys map "models" => :model # rubocop:enable Style/StringHashKeys desc "model", "Sync Model, DB, Factory Files with API" def model cp_dir = %w[db app/models spec/factories] cp_dir.each do |dir| cp_and_dl_files(dir: dir) cp_env_files end Souls::Painter.sync(cp_dir.to_s) end private def cp_and_dl_files(dir: "db") require("#{Souls.get_mother_path}/config/souls") project_id = Souls.configuration.project_id worker_paths = Souls.configuration.workers.map { |n| n[:name].split("souls-#{project_id}-").last } worker_paths.each do |path| cp_path = "./apps/api/#{dir}" old_path = "./apps/#{path}/#{dir}" system("rm -rf #{old_path}", chdir: Souls.get_mother_path) system("mkdir -p #{old_path}", chdir: Souls.get_mother_path) system("cp -r #{cp_path}/* #{old_path}", chdir: Souls.get_mother_path) rescue StandardError # Do nothing end end def cp_env_files return unless File.exist?("#{Souls.get_mother_path}/apps/api/.env") project_id = Souls.configuration.project_id worker_paths = Souls.configuration.workers.map { |n| n[:name].split("souls-#{project_id}-").last } worker_paths.each do |path| system("rm -f ./apps/#{path}/.env", chdir: Souls.get_mother_path) system("cp -f ./apps/api/.env ./apps/#{path}/.env", chdir: Souls.get_mother_path) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
souls-1.17.3 | lib/souls/cli/sync/model.rb |