Sha256: 597005dc644c61d6b3476dbd7a54e76911157a8a9efd99611738b1099c57de80
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
# encoding: UTF-8 module GoodData class ProjectMetadata class << self def keys ProjectMetadata[:all].keys end def [](key) if key == :all uri = "/gdc/projects/#{GoodData.project.pid}/dataload/metadata" res = GoodData.get(uri) res['metadataItems']['items'].reduce({}) { |memo, i| memo[i['metadataItem']['key']] = i['metadataItem']['value']; memo } else uri = "/gdc/projects/#{GoodData.project.pid}/dataload/metadata/#{key}" res = GoodData.get(uri) res['metadataItem']['value'] end end alias_method :get, :[] alias_method :get_key, :[] def has_key?(key) begin ProjectMetadata[key] true rescue RestClient::ResourceNotFound => e false end end def []=(key, val) data = { :metadataItem => { :key => key, :value => val } } uri = "/gdc/projects/#{GoodData.project.pid}/dataload/metadata/" update_uri = uri + key if has_key?(key) GoodData.put(update_uri, data) else GoodData.post(uri, data) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gooddata-0.6.0 | lib/gooddata/models/project_metadata.rb |