Sha256: 3a4e3adf845f1e3244f9edc30bc4101561f028a41afc8d34feabc5797b16c63f

Contents?: true

Size: 1.08 KB

Versions: 23

Compression:

Stored size: 1.08 KB

Contents

module Shuttle
  class Deploy
    include Shuttle::Helpers
    include Shuttle::PathHelpers

    attr_reader :ssh
    attr_reader :target
    attr_reader :environment
    attr_reader :version
    attr_reader :config

    def initialize(config, ssh, target, environment)
      @config      = config
      @target      = target
      @ssh         = ssh
      @environment = environment

      if ssh.file_exists?(version_path)
        res = ssh.capture("cat #{version_path}")
        @version = (res.empty? ? 1 : Integer(res) + 1).to_s
      else
        @version = 1
      end
    end

    # Get current deploy version
    # @return [Integer]
    def last_version
      @last_version ||= ssh.read_file(version_path).to_i
    end

    # Get list of all existing releases
    # @return [Array<Integer>]
    def available_releases
      if ssh.directory_exists?(deploy_path('releases'))
        releases = ssh.capture("ls --color=never #{deploy_path}/releases")

        releases.
          scan(/[\d]+/).
          map { |s| s.strip.to_i }.
          sort
      else
        []
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
shuttle-deploy-0.4.0 lib/shuttle/deploy.rb
shuttle-deploy-0.3.3 lib/shuttle/deploy.rb
shuttle-deploy-0.3.2 lib/shuttle/deploy.rb
shuttle-deploy-0.3.1 lib/shuttle/deploy.rb
shuttle-deploy-0.3.0 lib/shuttle/deploy.rb
shuttle-deploy-0.3.0.beta1 lib/shuttle/deploy.rb
shuttle-deploy-0.2.3 lib/shuttle/deploy.rb
shuttle-deploy-0.2.2 lib/shuttle/deploy.rb
shuttle-deploy-0.2.1 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta16 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta15 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta14 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta13 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta12 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta11 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta10 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta9 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta7 lib/shuttle/deploy.rb
shuttle-deploy-0.2.0.beta6 lib/shuttle/deploy.rb