Sha256: 014dc965c33dc8f33111dfd7975a5653668d211f50c4fb75a1be48727e3114d8

Contents?: true

Size: 914 Bytes

Versions: 2

Compression:

Stored size: 914 Bytes

Contents

module ReportsKits
  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

2 entries across 2 versions & 1 rubygems

Version Path
reports_kits-0.7.8 lib/reports_kits/reports/composite_series.rb
reports_kits-0.7.7 lib/reports_kits/reports/composite_series.rb