class Qpid::Proton::URL

Attributes

host[R]
password[R]
path[R]
port[R]
scheme[R]
username[R]

Public Class Methods

new(url = nil, options = {}) click to toggle source
# File lib/core/url.rb, line 31
def initialize(url = nil, options = {})
  options[:defaults] = true

  if url
    @url = Cproton.pn_url_parse(url)
    if @url.nil?
      raise ::ArgumentError.new("invalid url: #{url}")
    end
  else
    @url = Cproton.pn_url
  end
  @scheme = Cproton.pn_url_get_scheme(@url)
  @username = Cproton.pn_url_get_username(@url)
  @password = Cproton.pn_url_get_password(@url)
  @host = Cproton.pn_url_get_host(@url)
  @port = Cproton.pn_url_get_port(@url)
  @path = Cproton.pn_url_get_path(@url)
  defaults
end

Public Instance Methods

port=(port) click to toggle source
# File lib/core/url.rb, line 51
def port=(port)
  if port.nil?
    Cproton.pn_url_set_port(@url, nil)
  else
    Cproton.pn_url_set_port(@url, port)
  end
end
to_s() click to toggle source
# File lib/core/url.rb, line 63
def to_s
  "#{@scheme}://#{@username.nil? ? '' : @username}#{@password.nil? ? '' : '@' + @password + ':'}#{@host}:#{@port}/#{@path}"
end

Private Instance Methods

defaults() click to toggle source
# File lib/core/url.rb, line 69
def defaults
  @scheme = @scheme || "ampq"
  @host = @host || "0.0.0.0"
  @port = @port || 5672
end