Module: Babik::QuerySet

Defined in:
lib/babik/queryset/components/limit.rb,
lib/babik/queryset.rb,
lib/babik/queryset/mixins/none.rb,
lib/babik/queryset/lib/condition.rb,
lib/babik/queryset/lib/join/join.rb,
lib/babik/queryset/mixins/bounded.rb,
lib/babik/queryset/mixins/clonable.rb,
lib/babik/queryset/mixins/lockable.rb,
lib/babik/queryset/mixins/sortable.rb,
lib/babik/queryset/components/order.rb,
lib/babik/queryset/components/where.rb,
lib/babik/queryset/mixins/countable.rb,
lib/babik/queryset/mixins/deletable.rb,
lib/babik/queryset/mixins/limitable.rb,
lib/babik/queryset/mixins/updatable.rb,
lib/babik/queryset/mixins/filterable.rb,
lib/babik/queryset/mixins/projectable.rb,
lib/babik/queryset/mixins/aggregatable.rb,
lib/babik/queryset/components/projection.rb,
lib/babik/queryset/lib/update/assignment.rb,
lib/babik/queryset/mixins/set_operations.rb,
lib/babik/queryset/components/aggregation.rb,
lib/babik/queryset/mixins/distinguishable.rb,
lib/babik/queryset/components/sql_renderer.rb,
lib/babik/queryset/mixins/related_selector.rb,
lib/babik/queryset/mixins/sql_renderizable.rb,
lib/babik/queryset/components/select_related.rb,
lib/babik/queryset/lib/join/association_joiner.rb

Overview

QuerySet module

Defined Under Namespace

Modules: Aggregatable, Bounded, Clonable, Condition, Countable, Deletable, Distinguishable, Filterable, Join, Limitable, Lockable, NoneQuerySet, Projectable, RelatedSelector, SQLRenderizable, SetOperations, Sortable, StandardSqlOperation, Updatable, Update Classes: AbstractAggregationFunction, AbstractBase, Aggregation, Avg, Base, Count, CountDistinct, Disjunction, Except, Intersect, Limit, Max, Min, Order, OrderField, PostgresMySQLAggregationFunction, ProjectedField, Projection, SQLRenderer, SelectRelated, SetOperation, StdDev, StdDevSample, Sum, Union, Var, VarSample, Where

Class Method Summary collapse

Class Method Details

.agg(operation, aggregation_path) ⇒ Class < AbstractAggregationFunction] aggregation function object.

Class method utility method

Parameters:

  • operation (String)

    Function that will be executed in the aggregation.

  • aggregation_path (String)

Returns:

  • (Class < AbstractAggregationFunction] aggregation function object.)

    Class < AbstractAggregationFunction] aggregation function object.



87
88
89
90
91
# File 'lib/babik/queryset/components/aggregation.rb', line 87

def self.agg(operation, aggregation_path)
  operation_class_name = operation.to_s.camelize
  operation_class = Object.const_get("Babik::QuerySet::#{operation_class_name}")
  operation_class.new(aggregation_path)
end