Sha256: 91111ac0c3deaf88b5ee94953d0ac199b9ca0b9866608a9c2add3fed27aeaa1b

Contents?: true

Size: 1.74 KB

Versions: 22

Compression:

Stored size: 1.74 KB

Contents

module DeployGate
  module API
    module V1
      class Push
        ENDPOINT = "/users/%s/apps"

        class << self

          # @param [String] command
          # @param [String] file_path
          # @param [String] target_user
          # @param [String] token
          # @param [String] message
          # @param [String] distribution_key
          # @param [Boolean] disable_notify
          # @yield Upload process block
          # @return [Hash]
          def upload(command, file_path, target_user, token, message, distribution_key, disable_notify = false, &process_block)
            res = nil
            env_ci = ENV['CI']
            open(file_path) do |file|
              res = Base.new(token).post(
                sprintf(ENDPOINT, target_user),
                { :file => file ,
                  :message => message,
                  :distribution_key => distribution_key,
                  :disable_notify => disable_notify ? 'yes' : 'no',
                  :dg_command => command || '',
                  :env_ci => env_ci
                }) { process_block.call unless process_block.nil? }
            end

            upload_results = {
                :error => res['error'],
                :message => res['because']
            }

            results = res['results']
            unless results.nil?
              upload_results.merge!({
                  :application_name => results['name'],
                  :owner_name => results['user']['name'],
                  :package_name => results['package_name'],
                  :revision => results['revision'],
                  :web_url => Base::BASE_URL + results['path']
              })
            end

            upload_results
          end
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
deploygate-0.8.6 lib/deploygate/api/v1/push.rb
deploygate-0.8.5 lib/deploygate/api/v1/push.rb
deploygate-0.8.4 lib/deploygate/api/v1/push.rb
deploygate-0.8.3 lib/deploygate/api/v1/push.rb
deploygate-0.8.2 lib/deploygate/api/v1/push.rb
deploygate-0.8.1 lib/deploygate/api/v1/push.rb
deploygate-0.8.0 lib/deploygate/api/v1/push.rb
deploygate-0.7.0 lib/deploygate/api/v1/push.rb
deploygate-0.6.8 lib/deploygate/api/v1/push.rb
deploygate-0.6.7 lib/deploygate/api/v1/push.rb
deploygate-0.6.6 lib/deploygate/api/v1/push.rb
deploygate-0.6.5 lib/deploygate/api/v1/push.rb
deploygate-0.6.4 lib/deploygate/api/v1/push.rb
deploygate-0.6.3 lib/deploygate/api/v1/push.rb
deploygate-0.6.2 lib/deploygate/api/v1/push.rb
deploygate-0.6.1 lib/deploygate/api/v1/push.rb
deploygate-0.6.0 lib/deploygate/api/v1/push.rb
deploygate-0.5.6 lib/deploygate/api/v1/push.rb
deploygate-0.5.5 lib/deploygate/api/v1/push.rb
deploygate-0.5.4 lib/deploygate/api/v1/push.rb