Method: GoodData::Metric#replace_value
- Defined in:
- lib/gooddata/models/metadata/metric.rb
#replace_value(label, value, for_label, for_value = nil) ⇒ GoodData::Metric
Method used for replacing attribute element values. Looks up certain value of a label in the MAQL expression and exchanges it for a different value of the same label.
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
# File 'lib/gooddata/models/metadata/metric.rb', line 182 def replace_value(label, value, for_label, for_value = nil) label = label.respond_to?(:primary_label) ? label.primary_label : label if for_value for_label = for_label.respond_to?(:primary_label) ? for_label.primary_label : for_label value_uri = label.find_value_uri(value) for_value_uri = for_label.find_value_uri(for_value) self.expression = expression.gsub(value_uri, for_value_uri) self.expression = expression.gsub(label.attribute.uri, for_label.attribute.uri) else for_value = for_label value_uri = label.find_value_uri(value) for_value_uri = label.find_value_uri(for_value) self.expression = expression.gsub(value_uri, for_value_uri) end self end |