Sha256: c9e2af8607ed51795ce00f82f6a38263a17720e27e2d8f30e5635a2434152610
Contents?: true
Size: 1.06 KB
Versions: 9
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true module Decidim # # This class handles all logic regarding registering filters # class AdminFiltersRegistry class << self # # Finds a filter by name or creates it if it does not exist. # # @param name [Symbol] Name of the filter # @param &block [Filter] Registration body of the filter. It is stored to # be evaluated at rendering time # def register(name, &block) filter = find(name) || create(name) filter.configurations << block filter end # # Finds a filter by name # # @param name [Symbol] The name of the filter # def find(name) all[name] end # # Creates an empty named filter # # @param name [Symbol] The name of the filter # def create(name) all[name] = new end private def all @all ||= {} end end attr_reader :configurations def initialize @configurations = [] end end end
Version data entries
9 entries across 9 versions & 1 rubygems