about summary refs log tree commit diff
path: root/app/models/account_tag_stat.rb
blob: 3c36c155abede51974741ec568030d1278344158 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# frozen_string_literal: true
# == Schema Information
#
# Table name: account_tag_stats
#
#  id             :bigint(8)        not null, primary key
#  tag_id         :bigint(8)        not null
#  accounts_count :bigint(8)        default(0), not null
#  hidden         :boolean          default(FALSE), not null
#  created_at     :datetime         not null
#  updated_at     :datetime         not null
#

class AccountTagStat < ApplicationRecord
  belongs_to :tag, inverse_of: :account_tag_stat

  def increment_count!(key)
    update(key => public_send(key) + 1)
  end

  def decrement_count!(key)
    update(key => [public_send(key) - 1, 0].max)
  end
end