Sha256: 8e50595c43ac47528ba3af452db33f069705608aaf0e560403a2b5e2a2ff0fbb

Contents?: true

Size: 608 Bytes

Versions: 2

Compression:

Stored size: 608 Bytes

Contents

module ForestAdminDatasourceToolkit
  module Components
    module Query
      class Aggregation
        include ForestAdminDatasourceToolkit::Exceptions
        attr_reader :operation, :field, :groups

        def initialize(operation:, field: nil, groups: [])
          validate(operation)
          @operation = operation
          @field = field
          @groups = groups
        end

        def validate(operation)
          return if %w[Count Sum Avg Max Min].include? operation

          raise ForestException, "Aggregate operation #{operation} not allowed"
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
forest_admin_datasource_toolkit-1.0.0.pre.beta.22 lib/forest_admin_datasource_toolkit/components/query/aggregation.rb
forest_admin_datasource_toolkit-1.0.0.pre.beta.21 lib/forest_admin_datasource_toolkit/components/query/aggregation.rb