Class: ActiveAdmin::CollectionDecorator
- Inherits:
 - 
      Object
      
        
- Object
 - ActiveAdmin::CollectionDecorator
 
 
- Defined in:
 - lib/active_admin/collection_decorator.rb
 
Overview
This class decorates a collection of objects delegating mehods to behave like an Array. It’s used to decouple ActiveAdmin from Draper and thus being able to use PORO decorators as well.
It’s implementation is heavily based on the Draper::CollectionDecorator github.com/drapergem/draper/blob/aaa06bd2f1e219838b241a5534e7ca513edd1fe2/lib/draper/collection_decorator.rb
Instance Attribute Summary collapse
- 
  
    
      #decorator_class  ⇒ Class 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The decorator class used to decorate each item, as set by #initialize.
 - 
  
    
      #object  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The collection being decorated.
 
Instance Method Summary collapse
- #decorated_collection ⇒ Object
 - 
  
    
      #initialize(object, with:)  ⇒ CollectionDecorator 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of CollectionDecorator.
 
Constructor Details
#initialize(object, with:) ⇒ CollectionDecorator
Returns a new instance of CollectionDecorator.
      19 20 21 22  | 
    
      # File 'lib/active_admin/collection_decorator.rb', line 19 def initialize(object, with:) @object = object @decorator_class = with end  | 
  
Instance Attribute Details
#decorator_class ⇒ Class (readonly)
Returns the decorator class used to decorate each item, as set by #initialize.
      14 15 16  | 
    
      # File 'lib/active_admin/collection_decorator.rb', line 14 def decorator_class @decorator_class end  | 
  
#object ⇒ Object (readonly)
Returns the collection being decorated.
      11 12 13  | 
    
      # File 'lib/active_admin/collection_decorator.rb', line 11 def object @object end  | 
  
Instance Method Details
#decorated_collection ⇒ Object
      28 29 30  | 
    
      # File 'lib/active_admin/collection_decorator.rb', line 28 def decorated_collection @decorated_collection ||= object.map { |item| decorator_class.new(item) } end  |