Class: GoodData::Dimension

Inherits:
MdObject show all
Includes:
Mixin::IsDimension
Defined in:
lib/gooddata/models/metadata/dimension.rb

Constant Summary

Constants inherited from MdObject

MdObject::IDENTIFIERS_CFG, MdObject::MD_OBJ_CTG

Constants included from Mixin::MdIdToUri

Mixin::MdIdToUri::IDENTIFIERS_CFG

Constants included from Mixin::MdObjectIndexer

Mixin::MdObjectIndexer::MD_OBJ_CTG

Constants included from Mixin::MdObjectQuery

Mixin::MdObjectQuery::ERROR_MESSAGE_NO_PROJECT

Instance Attribute Summary

Attributes inherited from Rest::Object

#client, #json, #project

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Mixin::IsDimension

#dimension?

Methods inherited from MdObject

#==, #add_tag, #browser_uri, #delete, #deprecated, #deprecated=, find_replaceable_values, #get_flag?, #initialize, #listed?, #production, #production=, #project, #reload!, #remove_tag, replace, #replace, #replace!, replace_bracketed, replace_quoted, #restricted, #restricted=, #save, #save_as, #set_flag, #tag_set, #unlisted, #unlisted=, #validate

Methods included from Mixin::MdIdToUri

#identifier_to_uri

Methods included from Mixin::MdObjectIndexer

#[]

Methods included from Mixin::MdObjectQuery

#all, #dependency, #dependency?, #query, #usedby, #usedby?, #using, #using?

Methods included from Mixin::MdFinders

#find_by_identifier, #find_by_tag, #find_by_title, #find_first_by_identifier, #find_first_by_title

Methods included from Mixin::MdObjId

#uri_obj_id

Methods included from Mixin::MdGrantees

#change_permission, #grant, #grantees, #revoke

Methods included from Mixin::MdRelations

#dependency, #dependency?, #usedby, #usedby?, #using, #using?

Methods included from Mixin::ObjId

#obj_id

Methods included from Mixin::Links

#links

Methods inherited from Rest::Resource

#initialize

Methods inherited from Rest::Object

client, default_client, #initialize, #saved?

Methods included from Mixin::DataPropertyReader

#data_property_reader

Methods included from Mixin::DataPropertyWriter

#data_property_writer

Methods included from Mixin::MetaPropertyReader

#metadata_property_reader

Methods included from Mixin::MetaPropertyWriter

#metadata_property_writer

Methods included from Mixin::MetaGetter

#meta

Methods included from Mixin::DataGetter

#data

Methods included from Mixin::RootKeyGetter

#root_key

Methods included from Mixin::ContentGetter

#content

Constructor Details

This class inherits a constructor from GoodData::MdObject

Class Method Details

.[](id, opts = { client: GoodData.connection }) ⇒ Object

Returns a Project object identified by given string The following identifiers are accepted

  • /gdc/md/
  • /gdc/projects/


34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/gooddata/models/metadata/dimension.rb', line 34

def [](id, opts = { client: GoodData.connection })
  return id if id.instance_of?(GoodData::Dimension) || id.respond_to?(:dimension?) && id.dimension?

  if id == :all
    Dimension.all({ client: GoodData.connection }.merge(opts))
  else
    uri = id

    c = client(opts)
    fail ArgumentError, 'No :client specified' if c.nil?

    response = c.get(uri)
    c.factory.create(Dimension, response)
  end
end

.all(options = { :client => GoodData.connection, :project => GoodData.project }) ⇒ Array<GoodData::MdObject> | Array<Hash>

Method intended to get all objects of that type in a specified project

decide to pull in full objects. This is desirable from the usability POV but unfortunately has negative impact on performance so it is not the default.

Options Hash (options):

  • :full (Boolean)

    if passed true the subclass can



24
25
26
# File 'lib/gooddata/models/metadata/dimension.rb', line 24

def all(options = { :client => GoodData.connection, :project => GoodData.project })
  query('dimension', Dimension, options)
end

Instance Method Details

#attributesObject



51
52
53
54
55
# File 'lib/gooddata/models/metadata/dimension.rb', line 51

def attributes
  content['attributes'].map do |attribute|
    client.create(Attribute, { 'attribute' => attribute }, project: project)
  end
end