Method: Svn#parse_uri

Defined in:
lib/version_control/svn.rb

#parse_uri(svn_uri, reset_values = false) ⇒ Object

Parses a complex svn uri into parts

Attributes

  • svn_url - svn url, like this:…

user:password@host:port/path/path[#revision]user:[email protected]:9050/svn/16667/appreldep/RLM/artifacts/CATE[7777777]

  • reset_values - resets the svn object parameters host, password etc from url (default=false)

Returns

  • parse result, like this:…

=> URIGemResult, “revision” => “”



53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/version_control/svn.rb', line 53

def parse_uri(svn_uri, reset_values = false)
  result = {"uri_result" => nil, "revision" => ""}
  k = svn_uri.scan(/\[.*\]/)
  result["revision"] = k[0].gsub("[","").gsub("]","") if k.size > 0
  rev = k.size > 0 ? "[#{result["revision"]}]" : "__ZZZ__"
  parts = URI.parse(svn_uri.gsub(rev,""))
  result["uri_result"] = parts
  if reset_values
    @url = "#{parts.scheme}://#{parts.host}:#{parts.port}#{parts.path}"
    make_credential(parts.user, parts.password) unless parts.password.nil?
  end
  result
end