Sha256: f6c275bf1fdee132ac7e314e209797f244ce43720187ded8732c4c46dabbc9bd

Contents?: true

Size: 763 Bytes

Versions: 14

Compression:

Stored size: 763 Bytes

Contents

module Bamboo
  module Client
    module Http
      class Abstract
        attr_reader :uri

        def initialize(url)
          @uri = URI.parse url
        end

        private

        def uri_for(uri_or_path, params = nil)
          if uri_or_path.kind_of? URI
            u = uri_or_path.dup

            u.host   = @uri.host
            u.port   = @uri.port
            u.scheme = @uri.scheme
          else
            u = uri.dup
            u.path = uri_or_path
          end

          u.query = query_string_for(params) if params
          u.to_s
        end

        def query_string_for(params)
          params.map { |k, v| "#{k.to_s}=#{CGI.escape(v.to_s)}" }.join('&')
        end

      end # Abstract
    end # Http
  end # Client
end # Bamboo

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
bamboo-client-0.1.8 lib/bamboo-client/http/abstract.rb
bamboo-client-0.1.7 lib/bamboo-client/http/abstract.rb
bamboo-client-0.1.6 lib/bamboo-client/http/abstract.rb
bamboo-client-0.1.5 lib/bamboo-client/http/abstract.rb
bamboo-client-0.1.4 lib/bamboo-client/http/abstract.rb
bamboo-client-0.1.3 lib/bamboo-client/http/abstract.rb
bamboo-client-0.1.2 lib/bamboo-client/http/abstract.rb
bamboo-client-0.1.1 lib/bamboo-client/http/abstract.rb
bamboo-client-0.1.0 lib/bamboo-client/http/abstract.rb
bamboo-client-0.0.9 lib/bamboo-client/http/abstract.rb
bamboo-client-0.0.8 lib/bamboo-client/http/abstract.rb
bamboo-client-0.0.6 lib/bamboo-client/http/abstract.rb
bamboo-client-0.0.5 lib/bamboo-client/http/abstract.rb
bamboo-client-0.0.4 lib/bamboo-client/http/abstract.rb