module ActionBlocks::SummaryFieldAggregationFunctions

Public Instance Methods

concat(field, delimiter) click to toggle source
# File lib/action_blocks/builders/summary_field_aggregation_functions.rb, line 15
def concat(field, delimiter)
  mk = @parent_reference.related_model_key.clone
  mk["model-"]=''
  field_key = "field-#{mk}-#{field}"
  puts field_key
  field_builder = ActionBlocks.find(field_key)

  return {
    path: field_builder.select_requirements[:path],
    function: ->(*args) { string_agg(delimiter, *args) }
  }
end
count() click to toggle source
# File lib/action_blocks/builders/summary_field_aggregation_functions.rb, line 3
def count
  # mk = @parent_reference.related_model_key.clone
  # mk["model-"]=''
  # field_key = "field-#{mk}-#{id}"
  # field_builder = ActionBlocks.find(field_key)

  return {
    path: [:id],
    function: ->(*args) { count(*args) }\
  }
end
every(field, predicate, value) click to toggle source
# File lib/action_blocks/builders/summary_field_aggregation_functions.rb, line 28
def every(field, predicate, value)
  mk = @parent_reference.related_model_key.clone
  mk["model-"]=''
  field_key = "field-#{mk}-#{field}"
  puts field_key
  field_builder = ActionBlocks.find(field_key)

  return {
  path: field_builder.select_requirements[:path],
  function: ->(*args) { every(predicate, value, *args) }
  }
end