Sha256: 67c9d213a352588c7208c4ea1f03c771e6370e54f903871ef39ed8428c39893d

Contents?: true

Size: 1.48 KB

Versions: 25

Compression:

Stored size: 1.48 KB

Contents

module DeployGate
  module API
    module V1
      class Base
        BASE_URL     = ENV['DG_DEVELOP_URL'] || 'https://deploygate.com'
        API_BASE_URL = "#{BASE_URL}/api"

        # @param [String] token
        # @return [DeployGate::API::V1::Base]
        def initialize(token = nil)
          @token = token
        end

        # @param [String] path
        # @param [Hash] params
        # @return [Hash] Responce parse json
        def get(path, params)
          url = API_BASE_URL + path

          res = client.get(url, params, headers)
          JSON.parse(res.body)
        end

        # @param [String] path
        # @param [Hash] params
        # @yield Upload process block
        # @return [Hash] Responce parse json
        def post(path, params, &process_block)
          url = API_BASE_URL + path

          connection = client.post_async(url, params, headers)
          while true
            break if connection.finished?
            process_block.call unless process_block.nil?
          end
          io = connection.pop.content
          body = ''
          while str = io.read(40)
            body += str
          end

          JSON.parse(body)
        end

        private

        def client
          HTTPClient.new(:agent_name => "dg/#{DeployGate::VERSION}")
        end

        def headers
          extheaders = []
          unless @token.nil?
            extheaders.push(['AUTHORIZATION', @token])
          end

          extheaders
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
deploygate-0.8.1 lib/deploygate/api/v1/base.rb
deploygate-0.8.0 lib/deploygate/api/v1/base.rb
deploygate-0.7.0 lib/deploygate/api/v1/base.rb
deploygate-0.6.8 lib/deploygate/api/v1/base.rb
deploygate-0.6.7 lib/deploygate/api/v1/base.rb
deploygate-0.6.6 lib/deploygate/api/v1/base.rb
deploygate-0.6.5 lib/deploygate/api/v1/base.rb
deploygate-0.6.4 lib/deploygate/api/v1/base.rb
deploygate-0.6.3 lib/deploygate/api/v1/base.rb
deploygate-0.6.2 lib/deploygate/api/v1/base.rb
deploygate-0.6.1 lib/deploygate/api/v1/base.rb
deploygate-0.6.0 lib/deploygate/api/v1/base.rb
deploygate-0.5.6 lib/deploygate/api/v1/base.rb
deploygate-0.5.5 lib/deploygate/api/v1/base.rb
deploygate-0.5.4 lib/deploygate/api/v1/base.rb
deploygate-0.5.3 lib/deploygate/api/v1/base.rb
deploygate-0.5.2 lib/deploygate/api/v1/base.rb
deploygate-0.5.1 lib/deploygate/api/v1/base.rb
deploygate-0.5.0 lib/deploygate/api/v1/base.rb
deploygate-0.4.1 lib/deploygate/api/v1/base.rb