Sha256: 5575182f7fb78a3dfd755d58942f9646946a0675420d78747aafffdc97a35bea

Contents?: true

Size: 1.07 KB

Versions: 23

Compression:

Stored size: 1.07 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)
      end
      puts(Paint % ["Synced! : %{white_text}", :green, { white_text: [cp_dir.to_s, :white] }])
    rescue Thor::Error => e
      raise(Thor::Error, e)
    end

    private

    def cp_and_dl_files(dir: "db")
      require("#{Souls.get_mother_path}/config/souls")
      worker_paths = Souls.configuration.workers.map { |n| n[:name].split("-").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
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
souls-1.7.33 lib/souls/cli/sync/model.rb
souls-1.7.32 lib/souls/cli/sync/model.rb
souls-1.7.31 lib/souls/cli/sync/model.rb
souls-1.7.30 lib/souls/cli/sync/model.rb
souls-1.7.29 lib/souls/cli/sync/model.rb
souls-1.7.28 lib/souls/cli/sync/model.rb
souls-1.7.27 lib/souls/cli/sync/model.rb
souls-1.7.26 lib/souls/cli/sync/model.rb
souls-1.7.25 lib/souls/cli/sync/model.rb
souls-1.7.24 lib/souls/cli/sync/model.rb
souls-1.7.21 lib/souls/cli/sync/model.rb
souls-1.7.20 lib/souls/cli/sync/model.rb
souls-1.7.19 lib/souls/cli/sync/model.rb
souls-1.7.18 lib/souls/cli/sync/model.rb
souls-1.7.17 lib/souls/cli/sync/model.rb
souls-1.7.16 lib/souls/cli/sync/model.rb
souls-1.7.15 lib/souls/cli/sync/model.rb
souls-1.7.14 lib/souls/cli/sync/model.rb
souls-1.7.13 lib/souls/cli/sync/model.rb
souls-1.7.12 lib/souls/cli/sync/model.rb