Class: DirectoryColumn

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/directory_column.rb

Constant Summary collapse

@@plugin_directory_columns =
[]

Class Method Summary collapse

Class Method Details

.active_column_namesObject



22
23
24
25
26
27
28
# File 'app/models/directory_column.rb', line 22

def self.active_column_names
  DirectoryColumn
    .where(type: i[automatic plugin])
    .where(enabled: true)
    .pluck(:name)
    .map(&:to_sym)
end

.automatic_column_namesObject



10
11
12
13
14
15
16
17
18
19
20
# File 'app/models/directory_column.rb', line 10

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_columnsObject



38
39
40
# File 'app/models/directory_column.rb', line 38

def self.clear_plugin_directory_columns
  @@plugin_directory_columns = []
end

.find_or_create_plugin_directory_column(attrs) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'app/models/directory_column.rb', line 42

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

  unless @@plugin_directory_columns.include?(directory_column.name)
    @@plugin_directory_columns << directory_column.name
    DirectoryItem.add_plugin_query(attrs[:query])
  end
end

.plugin_directory_columnsObject



32
33
34
# File 'app/models/directory_column.rb', line 32

def self.plugin_directory_columns
  @@plugin_directory_columns
end