metric_configuration.rb 740 Bytes
class Kalibro::Entities::MetricConfiguration < Kalibro::Entities::Entity

  attr_accessor :metric, :code, :weight, :aggregation_form, :range

  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 weight=(value)
    @weight = value.to_f
  end

  def range=(value)
    @range = to_entity_array(value, Kalibro::Entities::Range)
  end

  def add_range(new_range)
    @range = [] if @range.nil?
    @range << new_range
  end

  def ranges
    @range
  end

  def ranges=(ranges)
    @range = ranges
  end

end