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 @@
  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 25 to_objects_array(response)
26 26 end
27 27  
28   - #FIXME change Kalibro::Entities::Module
29 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 30 end
32 31  
33 32 def date=(value)
... ... @@ -38,10 +37,8 @@ class Kalibro::ModuleResult &lt; Kalibro::Model
38 37 @grade = value.to_f
39 38 end
40 39  
41   - #FIXME change Kalibro::Entities::MetricResult
42 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 42 end
46 43  
47 44 private
... ...
plugins/mezuro/test/fixtures/compound_metric_with_error_fixtures.rb
... ... @@ -4,13 +4,13 @@ class CompoundMetricWithErrorFixtures
4 4  
5 5 def self.create
6 6 fixture = Kalibro::Entities::CompoundMetricWithError.new
7   - fixture.metric = CompoundMetricFixtures.sc
  7 + fixture.metric = CompoundMetricFixtures.compound_metric
8 8 fixture.error = ErrorFixtures.create
9 9 fixture
10 10 end
11 11  
12 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 14 :attributes! => {:metric => {
15 15 'xmlns:xsi'=> 'http://www.w3.org/2001/XMLSchema-instance',
16 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 4  
5 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 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 13 end
23 14  
24   - def self.amloc_result_hash
  15 + def self.native_metric_hash
25 16 {:metric => NativeMetricFixtures.amloc_hash, :value => 0.0, :descendent_result => [40.0, 42.0],
26 17 :range => RangeFixtures.range_excellent_hash,
27 18 :attributes! => {:metric => {
... ... @@ -29,7 +20,7 @@ class MetricResultFixtures
29 20 'xsi:type' => 'kalibro:nativeMetricXml' }}}
30 21 end
31 22  
32   - def self.sc_result_hash
  23 + def self.compound_metric_hash
33 24 {:metric => CompoundMetricFixtures.compound_metric_hash, :value => 1.0, :descendent_result => [2.0, 42.0],
34 25 :attributes! => {:metric => {
35 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 14 :date => '2011-10-20T18:26:43.151+00:00',
15 15 :grade => 10.0,
16 16 :metric_result => [
17   - MetricResultFixtures.amloc_result_hash,
18   - MetricResultFixtures.sc_result_hash],
  17 + MetricResultFixtures.native_metric_hash,
  18 + MetricResultFixtures.compound_metric_hash],
19 19 :compound_metric_with_error => [CompoundMetricWithErrorFixtures.create_hash]
20 20 }
21 21 end
... ...