Sha256: 6f32af63fac1f13abe2aef559659292d77d23b48b5e60bb225f9d4bbeb2a4c1e
Contents?: true
Size: 1.11 KB
Versions: 4
Compression:
Stored size: 1.11 KB
Contents
# encoding: UTF-8 # # Copyright (c) 2010-2017 GoodData Corporation. All rights reserved. # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. module GoodData module Mixin module MdIdToUri IDENTIFIERS_CFG = 'instance-identifiers' # TODO: Add test def identifier_to_uri(opts = { :client => GoodData.connection, :project => GoodData.project }, *ids) client, project = GoodData.get_client_and_project(opts) response = nil begin uri = project.md[IDENTIFIERS_CFG] response = client.post(uri, 'identifierToUri' => ids) rescue => ex raise ex end if response['identifiers'].empty? nil else identifiers = response['identifiers'] ids_lookup = identifiers.reduce({}) do |a, e| a[e['identifier']] = e['uri'] a end uris = ids.map { |x| ids_lookup[x] } uris.count == 1 ? uris.first : uris end end alias_method :id_to_uri, :identifier_to_uri end end end
Version data entries
4 entries across 4 versions & 1 rubygems