Sha256: 726cfd0891e5cb84ab60a666effac9ee561b9ddabbe3c2af4ef7b5fce99b29ef

Contents?: true

Size: 1.15 KB

Versions: 19

Compression:

Stored size: 1.15 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 && gzip -9f db/data.sql")
        copy :from, server, "db/data.sql.gz"
        run_crucial "gunzip -f db/data.sql.gz && bin/rake db:load"
      end
    end

    def data_push_db server
      bard.instance_eval do
        run_crucial "bin/rake db:dump && gzip -9f db/data.sql"
        copy :to, server, "db/data.sql.gz"
        run_crucial ssh_command(server, "gunzip -f db/data.sql.gz && 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

19 entries across 19 versions & 1 rubygems

Version Path
bard-0.50.5 lib/bard/data.rb
bard-0.50.4 lib/bard/data.rb
bard-0.50.3 lib/bard/data.rb
bard-0.50.2 lib/bard/data.rb
bard-0.50.1 lib/bard/data.rb
bard-0.50.0 lib/bard/data.rb
bard-0.49.0 lib/bard/data.rb
bard-0.48.1 lib/bard/data.rb
bard-0.48.0 lib/bard/data.rb
bard-0.47.0 lib/bard/data.rb
bard-0.46.0 lib/bard/data.rb
bard-0.45.1 lib/bard/data.rb
bard-0.45.0 lib/bard/data.rb
bard-0.44.2 lib/bard/data.rb
bard-0.44.1 lib/bard/data.rb
bard-0.44.0 lib/bard/data.rb
bard-0.43.2 lib/bard/data.rb
bard-0.43.0 lib/bard/data.rb
bard-0.42.0 lib/bard/data.rb