Sha256: f364b826779a174b0f65e59b6de88a05b4f0662bd24494eaf7e605544b69165e

Contents?: true

Size: 775 Bytes

Versions: 1

Compression:

Stored size: 775 Bytes

Contents

module ReportsKit
  module Reports
    class CompositeMeasure < AbstractMeasure
      attr_accessor :properties

      def initialize(properties)
        self.properties = properties.dup
      end

      def label
        name
      end

      def name
        properties[:name]
      end

      def composite_operator
        properties[:composite_operator]
      end

      def measures
        @measures ||= Reports::Measure.new_from_properties!(properties, context_record: nil)
      end

      def filters
        measures.map(&:filters).flatten
      end

      def primary_measure
        measures.first
      end

      def dimensions
        primary_measure.dimensions
      end

      def model_class
        primary_measure.model_class
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
reports_kit-0.2.0 lib/reports_kit/reports/composite_measure.rb