Sha256: 446472bd8ef4ad1a89c882ba2371d13a93abe2523c20c3784a448af2c260e902

Contents?: true

Size: 913 Bytes

Versions: 7

Compression:

Stored size: 913 Bytes

Contents

module ReportsKit
  module Reports
    class CompositeSeries < AbstractSeries
      attr_accessor :properties, :context_record

      def initialize(properties, context_record:)
        self.properties = properties.dup
        self.context_record = context_record
      end

      def label
        name
      end

      def name
        properties[:name]
      end

      def composite_operator
        properties[:composite_operator]
      end

      def limit
        properties[:limit]
      end

      def serieses
        @serieses ||= Reports::Series.new_from_properties!(properties, context_record: context_record)
      end

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

      def primary_series
        serieses.first
      end

      def dimensions
        primary_series.dimensions
      end

      def model_class
        primary_series.model_class
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
reports_kit-0.7.1 lib/reports_kit/reports/composite_series.rb
reports_kit-0.7.0 lib/reports_kit/reports/composite_series.rb
reports_kit-0.5.0 lib/reports_kit/reports/composite_series.rb
reports_kit-0.4.1 lib/reports_kit/reports/composite_series.rb
reports_kit-0.4.0 lib/reports_kit/reports/composite_series.rb
reports_kit-0.3.3 lib/reports_kit/reports/composite_series.rb
reports_kit-0.3.2 lib/reports_kit/reports/composite_series.rb