Sha256: eb07db67dc0d344a651289587149dc062f265e22111e9d1d42ee53c7624c555e
Contents?: true
Size: 967 Bytes
Versions: 9
Compression:
Stored size: 967 Bytes
Contents
# frozen_string_literal: true module Decidim # # This class handles all logic regarding registering filters # class AdminFilter attr_accessor :filters, :dynamically_translated_filters, :filters_with_values def initialize(name) @name = name @filters = [] @dynamically_translated_filters = [] @filters_with_values = {} end def add_filters(*filters) @filters += filters end def add_dynamically_translated_filters(*filters) @dynamically_translated_filters += filters end def add_filters_with_values(**items) @filters_with_values.merge!(items) end def build_for(context) raise "Filter #{@name} is not registered" if registry.blank? registry.configurations.each do |configuration| context.instance_exec(self, &configuration) end self end private def registry @registry ||= AdminFiltersRegistry.find(@name) end end end
Version data entries
9 entries across 9 versions & 1 rubygems