Class: CMIS::Connection::URLResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/cmis/connection/url_resolver.rb

Instance Method Summary collapse

Constructor Details

#initialize(http, service_url) ⇒ URLResolver

Returns a new instance of URLResolver.



4
5
6
7
8
# File 'lib/cmis/connection/url_resolver.rb', line 4

def initialize(http, service_url)
  @http = http
  @service_url = service_url
  @repository_infos = {}
end

Instance Method Details

#url(repository_id, object_id) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/cmis/connection/url_resolver.rb', line 10

def url(repository_id, object_id)
  return @service_url unless repository_id

  unless @repository_infos.key?(repository_id)
    @repository_infos = @http.get(@service_url).body
  end

  if @repository_infos.key?(repository_id)
    key = object_id ? 'rootFolderUrl' : 'repositoryUrl'
    @repository_infos[repository_id][key]
  else
    raise Exceptions::ObjectNotFound, "repositoryId: #{repository_id}"
  end
end