Class: Decidim::IconRegistry
- Inherits:
 - 
      Object
      
        
- Object
 - Decidim::IconRegistry
 
 
- Defined in:
 - lib/decidim/icon_registry.rb
 
Instance Method Summary collapse
- #all ⇒ Object
 - #categories(field = :category) ⇒ Object
 - #find(name) ⇒ Object
 - 
  
    
      #initialize  ⇒ IconRegistry 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of IconRegistry.
 - 
  
    
      #register(name:, icon:, description:, category:, engine:)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
It allows detecting with icons are valid remixicons icons, and also for documenting them in the ‘decidim-design` (aka Decidim Design Guide or DDG).
 
Constructor Details
#initialize ⇒ IconRegistry
Returns a new instance of IconRegistry.
      5 6 7  | 
    
      # File 'lib/decidim/icon_registry.rb', line 5 def initialize @icons = ActiveSupport::HashWithIndifferentAccess.new end  | 
  
Instance Method Details
#all ⇒ Object
      35 36 37  | 
    
      # File 'lib/decidim/icon_registry.rb', line 35 def all @icons end  | 
  
#categories(field = :category) ⇒ Object
      39 40 41  | 
    
      # File 'lib/decidim/icon_registry.rb', line 39 def categories(field = :category) all.values.group_by { |d| d[field].try(:to_s) } end  | 
  
#find(name) ⇒ Object
      26 27 28 29 30 31 32 33  | 
    
      # File 'lib/decidim/icon_registry.rb', line 26 def find(name) if name.blank? ActiveSupport::Deprecation.warn "The requested icon is blank." name = "other" end @icons[name] || deprecated(name) end  | 
  
#register(name:, icon:, description:, category:, engine:) ⇒ Object
It allows detecting with icons are valid remixicons icons, and also for documenting them in the ‘decidim-design` (aka Decidim Design Guide or DDG).
Some of these fields are used to load and work with the icon (‘name` and `icon`) and others are for documentation purposes in DDG (`category`, `description`, and `engine`).
      20 21 22 23 24  | 
    
      # File 'lib/decidim/icon_registry.rb', line 20 def register(name:, icon:, description:, category:, engine:) ActiveSupport::Deprecation.warn("#{name} already registered. #{@icons[name].inspect}") if @icons[name] @icons[name] = { name:, icon:, description:, category:, engine: } end  |