Sha256: 6fe28a12add872dbb79c203b6decdfa526bd3ad98b4fe39dfbfa9c1217783c7e

Contents?: true

Size: 1.12 KB

Versions: 13

Compression:

Stored size: 1.12 KB

Contents

module DeployGate
  class Deploy
    class NotLoginError < DeployGate::NotIssueError
    end
    class NotFileExistError < DeployGate::NotIssueError
    end
    class UploadError < DeployGate::NotIssueError
    end

    class << self

      # @param [String] command
      # @param [String] file_path
      # @param [String] target_user
      # @param [String] message
      # @param [String] distribution_key
      # @param [Boolean] disable_notify
      # @yield Upload process block
      # @return [Hash]
      def push(command, file_path, target_user, message, distribution_key, disable_notify = false, &process_block)
        raise NotFileExistError, 'Target file is not found' if file_path.nil? || !File.exist?(file_path)

        session = DeployGate::Session.new()
        raise NotLoginError, 'Must login user' unless session.login?
        token = session.token

        data = API::V1::Push.upload(command, file_path, target_user, token, message, distribution_key || '', disable_notify) { process_block.call unless process_block.nil? }
        raise UploadError, data[:message] if data[:error]

        data
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
deploygate-0.6.7 lib/deploygate/deploy.rb
deploygate-0.6.6 lib/deploygate/deploy.rb
deploygate-0.6.5 lib/deploygate/deploy.rb
deploygate-0.6.4 lib/deploygate/deploy.rb
deploygate-0.6.3 lib/deploygate/deploy.rb
deploygate-0.6.2 lib/deploygate/deploy.rb
deploygate-0.6.1 lib/deploygate/deploy.rb
deploygate-0.6.0 lib/deploygate/deploy.rb
deploygate-0.5.6 lib/deploygate/deploy.rb
deploygate-0.5.5 lib/deploygate/deploy.rb
deploygate-0.5.4 lib/deploygate/deploy.rb
deploygate-0.5.3 lib/deploygate/deploy.rb
deploygate-0.5.2 lib/deploygate/deploy.rb