Class: Decidim::Accountability::Result
- Inherits:
 - 
      ApplicationRecord
      
        
- Object
 - ActiveRecord::Base
 - ApplicationRecord
 - Decidim::Accountability::Result
 
 
- Includes:
 - Comments::CommentableWithComponent, DownloadYourData, FilterableResource, HasAttachmentCollections, HasAttachments, HasCategory, HasComponent, HasReference, Loggable, Randomable, Resourceable, ScopableResource, Searchable, Traceable, TranslatableResource
 
- Defined in:
 - app/models/decidim/accountability/result.rb
 
Overview
The data store for a Result in the Decidim::Accountability component. It stores a title, description and any other useful information to render a custom result.
Class Method Summary collapse
Instance Method Summary collapse
- 
  
    
      #allow_resource_permissions?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Public: Overrides the ‘allow_resource_permissions?` Resourceable concern method.
 - 
  
    
      #comments_have_alignment?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Public: Overrides the ‘comments_have_alignment?` Commentable concern method.
 - 
  
    
      #comments_have_votes?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Public: Overrides the ‘comments_have_votes?` Commentable concern method.
 - #update_parent_progress ⇒ Object
 - 
  
    
      #update_progress!  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Public: There are two ways to update parent’s progress: - using weights, in which case each progress is multiplied by the weight and them summed - not using weights, and using the average of progress of each children.
 
Class Method Details
.log_presenter_class_for(_log) ⇒ Object
      48 49 50  | 
    
      # File 'app/models/decidim/accountability/result.rb', line 48 def self.log_presenter_class_for(_log) Decidim::Accountability::AdminLog::ResultPresenter end  | 
  
.ransackable_scopes(_auth_object = nil) ⇒ Object
      85 86 87  | 
    
      # File 'app/models/decidim/accountability/result.rb', line 85 def self.ransackable_scopes(_auth_object = nil) [:with_category, :with_scope] end  | 
  
Instance Method Details
#allow_resource_permissions? ⇒ Boolean
Public: Overrides the ‘allow_resource_permissions?` Resourceable concern method.
      81 82 83  | 
    
      # File 'app/models/decidim/accountability/result.rb', line 81 def true end  | 
  
#comments_have_alignment? ⇒ Boolean
Public: Overrides the ‘comments_have_alignment?` Commentable concern method.
      71 72 73  | 
    
      # File 'app/models/decidim/accountability/result.rb', line 71 def comments_have_alignment? true end  | 
  
#comments_have_votes? ⇒ Boolean
Public: Overrides the ‘comments_have_votes?` Commentable concern method.
      76 77 78  | 
    
      # File 'app/models/decidim/accountability/result.rb', line 76 def comments_have_votes? true end  | 
  
#update_parent_progress ⇒ Object
      52 53 54 55 56  | 
    
      # File 'app/models/decidim/accountability/result.rb', line 52 def update_parent_progress return if parent.blank? parent.update_progress! end  | 
  
#update_progress! ⇒ Object
Public: There are two ways to update parent’s progress:
- using weights, in which case each progress is multiplied by the weight and them summed
- not using weights, and using the average of progress of each children
  
      61 62 63 64 65 66 67 68  | 
    
      # File 'app/models/decidim/accountability/result.rb', line 61 def update_progress! self.progress = if children_use_weighted_progress? children.sum { |result| (result.progress.presence || 0) * (result.weight.presence || 1) } else children.average(:progress) end save! end  |