Sha256: 64865d3b5865255ebc66b41f1498529aeec8ad0e89194956c59128ceaeaad4b5

Contents?: true

Size: 1.05 KB

Versions: 7

Compression:

Stored size: 1.05 KB

Contents

class Bard::CLI < Thor
  class Data < Struct.new(:bard, :from, :to)
    def call
      if to == "local"
        data_pull_db from.to_sym
        data_pull_assets from.to_sym
      end
      if from == "local"
        data_push_db to.to_sym
        data_push_assets to.to_sym
      end
    end

    private

    def data_pull_db server
      bard.instance_eval do
        run_crucial ssh_command(server, "bin/rake db:dump")
        copy :from, server, "db/data.sql.gz"
        run_crucial "bin/rake db:load"
      end
    end

    def data_push_db server
      bard.instance_eval do
        run_crucial "bin/rake db:dump"
        copy :to, server, "db/data.sql.gz"
        run_crucial ssh_command(server, "bin/rake db:load")
      end
    end

    def data_pull_assets server
      bard.instance_eval do
        @config.data.each do |path|
          rsync :from, server, path
        end
      end
    end

    def data_push_assets server
      bard.instance_eval do
        @config.data.each do |path|
          rsync :to, server, path
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
bard-0.53.0 lib/bard/data.rb
bard-0.52.2 lib/bard/data.rb
bard-0.52.1 lib/bard/data.rb
bard-0.52.0 lib/bard/data.rb
bard-0.51.2 lib/bard/data.rb
bard-0.51.1 lib/bard/data.rb
bard-0.51.0 lib/bard/data.rb