metric_configuration.rb
984 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class Kalibro::Entities::MetricConfiguration < Kalibro::Entities::Entity
attr_accessor :metric, :code, :weight, :aggregation_form, :range
def self.new_with_metric_and_code(metric, code)
configuration = new
configuration.metric = metric
configuration.code = code
configuration.ranges = [new_range]
configuration
end
def self.new_range
created_range = Kalibro::Entities::Range.new
created_range.beginning = 0
created_range.end = 10
created_range.label = ""
created_range
end
def metric=(value)
if value.kind_of?(Hash)
@metric = to_entity(value, Kalibro::Entities::CompoundMetric) if value.has_key?(:script)
@metric = to_entity(value, Kalibro::Entities::NativeMetric) if value.has_key?(:origin)
else
@metric = value
end
end
def range=(value)
@range = to_entity_array(value, Kalibro::Entities::Range)
end
def ranges
@range
end
def ranges=(ranges)
@range = ranges
end
end