Commit e134eeeb2483371a7afc9f7cb78e3a251ddfbdbc
Committed by
Paulo Meireles
1 parent
3332d2e7
Exists in
master
and in
28 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 | ... | ... |