lib/gooddata/models/metric.rb in gooddata-0.6.0.pre8 vs lib/gooddata/models/metric.rb in gooddata-0.6.0.pre9

- old
+ new

@@ -23,17 +23,17 @@ end def create(options={}) if options.is_a?(String) expression = options - extended_notation = true + extended_notation = false title = nil else title = options[:title] summary = options[:summary] expression = options[:expression] || fail("Metric has to have its expression defined") - extended_notation = options[:extended_notation] + extended_notation = options[:extended_notation] || false end expression = if extended_notation dict = { :facts => GoodData::Fact[:all].reduce({}) {|memo, item| memo[item["title"]] = item["link"]; memo}, @@ -60,15 +60,23 @@ } }) end def execute(expression, options={}) - m = GoodData::Metric.create({:title => "Temporary metric to be deleted", :expression => expression}.merge(options)) + m = if expression.is_a?(String) + GoodData::Metric.create({:title => "Temporary metric to be deleted", :expression => expression}.merge(options)) + else + GoodData::Metric.create({:title => "Temporary metric to be deleted"}.merge(expression)) + end m.execute end def xexecute(expression) - execute(expression, {:extended_notation => true}) + if expression.is_a?(String) + execute({:expression => expression, :extended_notation => true}) + else + execute(expression.merge({:extended_notation => true})) + end end end def execute