Commit e134eeeb2483371a7afc9f7cb78e3a251ddfbdbc
Committed by
Paulo Meireles
1 parent
3332d2e7
Exists in
master
and in
22 other branches
[Mezuro] refactoring metric result [not working]
Showing
5 changed files
with
50 additions
and
24 deletions
Show diff stats
... | ... | @@ -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 < 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 < 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__) + '/range_fixtures' |
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 | ... | ... |