Sha256: d02ae4e81d1bd189be09e7b32ae328b9a09f67bc3237ac43e0da9c0f6d8dfae2

Contents?: true

Size: 594 Bytes

Versions: 2

Compression:

Stored size: 594 Bytes

Contents

module ReportsKit
  module Reports
    class ContextualFilter
      attr_accessor :key, :model_settings

      delegate :settings_from_model, to: :model_settings

      def initialize(key, series:)
        self.key = key.to_sym
        self.model_settings = ModelSettings.new(series, :contextual_filters, self.key)
      end

      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
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reports_kit-0.4.1 lib/reports_kit/reports/contextual_filter.rb
reports_kit-0.4.0 lib/reports_kit/reports/contextual_filter.rb