about summary refs log tree commit diff
path: root/app/models/tag.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-02-12 20:29:55 +0100
committerGitHub <noreply@github.com>2019-02-12 20:29:55 +0100
commita3ba28eb17d75af37396359e8c37675e06605ccf (patch)
tree20d81ffc7b01b132e1683685a0176ede6374c13c /app/models/tag.rb
parentb89e003c4d049d64d2d4015357b8b931370bc5f0 (diff)
parentb47a53f90299a1fb52423aacbc0c23427e2eb132 (diff)
Merge pull request #913 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/models/tag.rb')
-rw-r--r--app/models/tag.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/app/models/tag.rb b/app/models/tag.rb
index 99830ae92..4373e967b 100644
--- a/app/models/tag.rb
+++ b/app/models/tag.rb
@@ -14,6 +14,7 @@ class Tag < ApplicationRecord
   has_and_belongs_to_many :accounts
   has_and_belongs_to_many :sample_accounts, -> { searchable.discoverable.popular.limit(3) }, class_name: 'Account'
 
+  has_many :featured_tags, dependent: :destroy, inverse_of: :tag
   has_one :account_tag_stat, dependent: :destroy
 
   HASHTAG_NAME_RE = '[[:word:]_]*[[:alpha:]_·][[:word:]_]*'
@@ -23,6 +24,7 @@ class Tag < ApplicationRecord
 
   scope :discoverable, -> { joins(:account_tag_stat).where(AccountTagStat.arel_table[:accounts_count].gt(0)).where(account_tag_stats: { hidden: false }).order(Arel.sql('account_tag_stats.accounts_count desc')) }
   scope :hidden, -> { where(account_tag_stats: { hidden: true }) }
+  scope :most_used, ->(account) { joins(:statuses).where(statuses: { account: account }).group(:id).order(Arel.sql('count(*) desc')) }
 
   delegate :accounts_count,
            :accounts_count=,