Sha256: e97e54c6d998930034a0e8e3440f5611f2d01d794a3b43013035a771a161596c

Contents?: true

Size: 831 Bytes

Versions: 1

Compression:

Stored size: 831 Bytes

Contents

module Bard
  class Provision < Struct.new(:config, :ssh_url)
    def self.call(...) = new(...).call

    def call
      SSH.call(*values)
      User.call(*values)
      MySQL.call(*values)
      Repo.call(*values)
      MasterKey.call(*values)
      RVM.call(*values)
      App.call(*values)
      Passenger.call(*values)
      Data.call(*values)
      HTTP.call(*values)
    end

    private

    def server
      config[:production]
    end

    def provision_server
      server.with(ssh: ssh_url)
    end
  end
end

require "bard/provision/ssh"
require "bard/provision/user"
require "bard/provision/mysql"
require "bard/provision/passenger"
require "bard/provision/repo"
require "bard/provision/master_key"
require "bard/provision/rvm"
require "bard/provision/app"
require "bard/provision/data"
require "bard/provision/http"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bard-1.0.0 lib/bard/provision.rb