Commit e134eeeb2483371a7afc9f7cb78e3a251ddfbdbc

Authored by Caio Salgado + Alessandro Palmeira
Committed by Paulo Meireles
1 parent 3332d2e7

[Mezuro] refactoring metric result [not working]

plugins/mezuro/lib/kalibro/metric_result.rb 0 → 100644
@@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
  1 +class Kalibro::MetricResult < Kalibro::Model
  2 +
  3 + attr_accessor :metric, :value, :range, :descendent_result, :weight
  4 +
  5 + def metric=(value)
  6 + if value.kind_of?(Hash)
  7 + compound?(value) ? @metric = to_object(value, Kalibro::CompoundMetric) : @metric = to_object(value, Kalibro::NativeMetric)
  8 + else
  9 + @metric = value
  10 + end
  11 + end
  12 +
  13 + def compound?(metric)
  14 + metric.has_key?(:script)
  15 + end
  16 +
  17 + def value=(value)
  18 + @value = value.to_f
  19 + end
  20 +
  21 + def range=(value)
  22 + @range = to_object(value, Kalibro::Range)
  23 + end
  24 +
  25 + def descendent_result=(value)
  26 + array = value.kind_of?(Array) ? value : [value]
  27 + @descendent_result = array.collect {|element| element.to_f}
  28 + end
  29 +
  30 + def descendent_results
  31 + @descendent_result
  32 + end
  33 +
  34 + def descendent_results=(descendent_results)
  35 + @descendent_result = descendent_results
  36 + end
  37 +
  38 +end
plugins/mezuro/lib/kalibro/module_result.rb
@@ -25,9 +25,8 @@ class Kalibro::ModuleResult &lt; Kalibro::Model @@ -25,9 +25,8 @@ class Kalibro::ModuleResult &lt; Kalibro::Model
25 to_objects_array(response) 25 to_objects_array(response)
26 end 26 end
27 27
28 - #FIXME change Kalibro::Entities::Module  
29 def module=(value) 28 def module=(value)
30 - @module = value.kind_of?(Hash) ? Kalibro::Entities::Module.from_hash(value) : value 29 + @module = to_object(value, Kalibro::Module)
31 end 30 end
32 31
33 def date=(value) 32 def date=(value)
@@ -38,10 +37,8 @@ class Kalibro::ModuleResult &lt; Kalibro::Model @@ -38,10 +37,8 @@ class Kalibro::ModuleResult &lt; Kalibro::Model
38 @grade = value.to_f 37 @grade = value.to_f
39 end 38 end
40 39
41 - #FIXME change Kalibro::Entities::MetricResult  
42 def metric_result=(value) 40 def metric_result=(value)
43 - array = value.kind_of?(Array) ? value : [value]  
44 - @metric_result = array.each.collect { |element| element.kind_of?(Hash) ? Kalibro::Entities::MetricResult.from_hash(element) : element } 41 + @metric_result = to_objects_array(value, Kalibro::MetricResult)
45 end 42 end
46 43
47 private 44 private
plugins/mezuro/test/fixtures/compound_metric_with_error_fixtures.rb
@@ -4,13 +4,13 @@ class CompoundMetricWithErrorFixtures @@ -4,13 +4,13 @@ class CompoundMetricWithErrorFixtures
4 4
5 def self.create 5 def self.create
6 fixture = Kalibro::Entities::CompoundMetricWithError.new 6 fixture = Kalibro::Entities::CompoundMetricWithError.new
7 - fixture.metric = CompoundMetricFixtures.sc 7 + fixture.metric = CompoundMetricFixtures.compound_metric
8 fixture.error = ErrorFixtures.create 8 fixture.error = ErrorFixtures.create
9 fixture 9 fixture
10 end 10 end
11 11
12 def self.create_hash 12 def self.create_hash
13 - {:metric => CompoundMetricFixtures.sc_hash, :error => ErrorFixtures.create_hash, 13 + {:metric => CompoundMetricFixtures.compound_metric_hash, :error => ErrorFixtures.create_hash,
14 :attributes! => {:metric => { 14 :attributes! => {:metric => {
15 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', 15 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance',
16 'xsi:type' => 'kalibro:compoundMetricXml' }}} 16 'xsi:type' => 'kalibro:compoundMetricXml' }}}
plugins/mezuro/test/fixtures/metric_result_fixtures.rb
@@ -4,24 +4,15 @@ require File.dirname(__FILE__) + &#39;/range_fixtures&#39; @@ -4,24 +4,15 @@ require File.dirname(__FILE__) + &#39;/range_fixtures&#39;
4 4
5 class MetricResultFixtures 5 class MetricResultFixtures
6 6
7 - def self.amloc_result  
8 - result = Kalibro::Entities::MetricResult.new  
9 - result.metric = NativeMetricFixtures.amloc  
10 - result.value = 0.0  
11 - result.descendent_results = [40.0, 42.0]  
12 - result.range = RangeFixtures.range_excellent  
13 - result 7 + def self.native_metric
  8 + Kalibro::MetricResult.new( native_metric_hash )
14 end 9 end
15 10
16 - def self.sc_result  
17 - result = Kalibro::Entities::MetricResult.new  
18 - result.metric = CompoundMetricFixtures.compound_metric  
19 - result.value = 1.0  
20 - result.descendent_results = [2.0, 42.0]  
21 - result 11 + def self.compound_metric
  12 + Kalibro::MetricResult.new( compound_metric_hash )
22 end 13 end
23 14
24 - def self.amloc_result_hash 15 + def self.native_metric_hash
25 {:metric => NativeMetricFixtures.amloc_hash, :value => 0.0, :descendent_result => [40.0, 42.0], 16 {:metric => NativeMetricFixtures.amloc_hash, :value => 0.0, :descendent_result => [40.0, 42.0],
26 :range => RangeFixtures.range_excellent_hash, 17 :range => RangeFixtures.range_excellent_hash,
27 :attributes! => {:metric => { 18 :attributes! => {:metric => {
@@ -29,7 +20,7 @@ class MetricResultFixtures @@ -29,7 +20,7 @@ class MetricResultFixtures
29 'xsi:type' => 'kalibro:nativeMetricXml' }}} 20 'xsi:type' => 'kalibro:nativeMetricXml' }}}
30 end 21 end
31 22
32 - def self.sc_result_hash 23 + def self.compound_metric_hash
33 {:metric => CompoundMetricFixtures.compound_metric_hash, :value => 1.0, :descendent_result => [2.0, 42.0], 24 {:metric => CompoundMetricFixtures.compound_metric_hash, :value => 1.0, :descendent_result => [2.0, 42.0],
34 :attributes! => {:metric => { 25 :attributes! => {:metric => {
35 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance', 26 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance',
plugins/mezuro/test/fixtures/module_result_fixtures.rb
@@ -14,8 +14,8 @@ class ModuleResultFixtures @@ -14,8 +14,8 @@ class ModuleResultFixtures
14 :date => '2011-10-20T18:26:43.151+00:00', 14 :date => '2011-10-20T18:26:43.151+00:00',
15 :grade => 10.0, 15 :grade => 10.0,
16 :metric_result => [ 16 :metric_result => [
17 - MetricResultFixtures.amloc_result_hash,  
18 - MetricResultFixtures.sc_result_hash], 17 + MetricResultFixtures.native_metric_hash,
  18 + MetricResultFixtures.compound_metric_hash],
19 :compound_metric_with_error => [CompoundMetricWithErrorFixtures.create_hash] 19 :compound_metric_with_error => [CompoundMetricWithErrorFixtures.create_hash]
20 } 20 }
21 end 21 end