Sha256: dee86d46e82f906bf40ef7ac46b6c909148db3c07fbe59963a5ed51b614b42c4

Contents?: true

Size: 1.37 KB

Versions: 315

Compression:

Stored size: 1.37 KB

Contents

require 'net/http'
require 'net/https'

module DPL
  class Provider
    class Launchpad < Provider

      def initialize(context, options)
        super
        @http = Net::HTTP.new('api.launchpad.net', 443)
        @http.use_ssl = true
      end

      def check_auth
      end

      def needs_key?
        false
      end

      def push_app
        response = api_call('/1.0/' + options[:slug] + '/+code-import', {'ws.op' => 'requestImport'})
        error('Deploy failed! Launchpad credentials invalid. ' + response.code.to_s) if response.code == '401'
        error('Error: ' + response.code.to_s + ' ' + response.body) unless response.kind_of? Net::HTTPSuccess
      end

      private

        def api_call(path, data)
          req = Net::HTTP::Post.new(path)
          req.set_form_data(data)
          req['Authorization'] = authorization
          return @http.request(req)
        end

        def authorization
          return 'OAuth oauth_consumer_key="Travis%20Deploy", ' +
                 'oauth_nonce="' + rand(36**32).to_s(36) + '",' +
                 'oauth_signature="%26' + options[:oauth_token_secret] + '",' +
                 'oauth_signature_method="PLAINTEXT",' +
                 'oauth_timestamp="' + Time::now().to_i.to_s + '",' +
                 'oauth_token="' + options[:oauth_token] + '",' +
                 'oauth_version="1.0"'
        end

    end
  end
end

Version data entries

315 entries across 315 versions & 3 rubygems

Version Path
dpl-launchpad-1.10.17.travis.6637.6 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.16 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.16.travis.6625.6 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.16.travis.6619.6 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.16.travis.5961.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.15 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.15.travis.5877.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.14 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.13 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.13.travis.4159.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.13.travis.4141.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.13.travis.4040.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.13.travis.4033.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.12 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.12.travis.4032.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.12.travis.3794.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.12.travis.3506.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.11.travis.3504.5 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.11 lib/dpl/provider/launchpad.rb
dpl-launchpad-1.10.11.travis.3499.5 lib/dpl/provider/launchpad.rb