class ReportsKits::Reports::ContextualFilter

Attributes

key[RW]
model_settings[RW]

Public Class Methods

new(key, model_class) click to toggle source
# File lib/reports_kits/reports/contextual_filter.rb, line 8
def initialize(key, model_class)
  self.key = key.to_sym
  self.model_settings = ModelSettings.new(model_class, :contextual_filters, self.key)
end

Public Instance Methods

apply(relation, context_params) click to toggle source
# File lib/reports_kits/reports/contextual_filter.rb, line 13
def apply(relation, context_params)
  raise ArgumentError.new("contextual_filter with key :#{key} not defined in #{model_class}") if settings_from_model.blank?
  settings_from_model[:method].call(relation, context_params)
end