Sha256: 40f8bb0abf8566c0879c8a1ba2a6d376384e7db5d8ec3b75bd5613943ef1b0b0

Contents?: true

Size: 632 Bytes

Versions: 2

Compression:

Stored size: 632 Bytes

Contents

module ReportsKit
  class ModelConfiguration
    attr_accessor :aggregations, :dimensions, :filters

    def initialize
      self.aggregations = []
      self.dimensions = []
      self.filters = []
    end

    def aggregation(key, expression, properties = {})
      aggregations << { key: key.to_s, expression: expression }.merge(properties).symbolize_keys
    end

    def dimension(key, properties)
      dimensions << { key: key.to_s }.merge(properties).symbolize_keys
    end

    def filter(key, type_key, properties)
      filters << { key: key.to_s, type_key: type_key }.merge(properties).symbolize_keys
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reports_kit-0.3.3 lib/reports_kit/model_configuration.rb
reports_kit-0.3.2 lib/reports_kit/model_configuration.rb