Class: DirectoryColumn
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- DirectoryColumn
- Defined in:
- app/models/directory_column.rb
Constant Summary collapse
- @@plugin_directory_columns =
[]
Class Method Summary collapse
- .active_column_names ⇒ Object
- .automatic_column_names ⇒ Object
- .clear_plugin_directory_columns ⇒ Object
- .find_or_create_plugin_directory_column(attrs) ⇒ Object
- .plugin_directory_columns ⇒ Object
Class Method Details
.active_column_names ⇒ Object
21 22 23 24 25 26 27 |
# File 'app/models/directory_column.rb', line 21 def self.active_column_names DirectoryColumn .where(type: %i[automatic plugin]) .where(enabled: true) .pluck(:name) .map(&:to_sym) end |
.automatic_column_names ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/models/directory_column.rb', line 9 def self.automatic_column_names @automatic_column_names ||= %i[ likes_received likes_given topics_entered topic_count post_count posts_read days_visited ] end |
.clear_plugin_directory_columns ⇒ Object
37 38 39 |
# File 'app/models/directory_column.rb', line 37 def self.clear_plugin_directory_columns @@plugin_directory_columns = [] end |
.find_or_create_plugin_directory_column(attrs) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/models/directory_column.rb', line 41 def self.find_or_create_plugin_directory_column(attrs) directory_column = find_or_create_by( name: attrs[:column_name], icon: attrs[:icon], type: DirectoryColumn.types[:plugin], ) do |column| column.position = DirectoryColumn.maximum("position") + 1 column.enabled = false end if @@plugin_directory_columns.exclude?(directory_column.name) @@plugin_directory_columns << directory_column.name DirectoryItem.add_plugin_query(attrs[:query]) end end |
.plugin_directory_columns ⇒ Object
31 32 33 |
# File 'app/models/directory_column.rb', line 31 def self.plugin_directory_columns @@plugin_directory_columns end |