Class: Mondrian::OLAP::Member

Inherits:
Object
  • Object
show all
Defined in:
lib/mondrian_rest/mondrian_ext.rb

Instance Method Summary collapse

Instance Method Details

#ancestorsObject



124
125
126
127
128
# File 'lib/mondrian_rest/mondrian_ext.rb', line 124

def ancestors
  @raw_member.getAncestorMembers.map { |am|
    self.class.new(am)
  }
end

#dimension_infoObject



112
113
114
115
116
117
118
119
120
121
122
# File 'lib/mondrian_rest/mondrian_ext.rb', line 112

def dimension_info
  d = @raw_member.getDimension
  l = @raw_member.getLevel
  {
    name: d.getName,
    caption: d.getCaption,
    type: self.dimension_type,
    level: l.getCaption,
    level_depth: l.depth
  }
end

#raw_levelObject



89
90
91
# File 'lib/mondrian_rest/mondrian_ext.rb', line 89

def raw_level
  @raw_member.getLevel
end

#to_h(properties = []) ⇒ Object



93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/mondrian_rest/mondrian_ext.rb', line 93

def to_h(properties=[])
  kv = [:name, :full_name, :caption, :all_member?,
        :drillable?, :depth].map { |m|
    [m, self.send(m)]
  }
  kv << [:key, self.property_value('MEMBER_KEY')]
  kv << [:num_children, self.property_value('CHILDREN_CARDINALITY')]
  kv << [:parent_name, self.property_value('PARENT_UNIQUE_NAME')]

  if properties.size > 0
    kv << [
      :properties,
      properties.reduce({}) { |h, p| h[p] = self.property_value(p); h }
    ]
  end

  Hash[kv]
end