Class: E621::RowCount

Inherits:
ActiveRecord::Base
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/e621/row_count.rb

Class Method Summary collapse

Class Method Details

.[](table_name) ⇒ Object



15
16
17
# File 'lib/e621/row_count.rb', line 15

def self.[](table_name)
  find_by(table_name: table_name)&.count || 0
end

.increment(table_name, by) ⇒ Object



25
26
27
# File 'lib/e621/row_count.rb', line 25

def self.increment(table_name, by)
  where(table_name: table_name).update_all("count = count + #{by.to_i}")
end

.set(table_name, count) ⇒ Object



20
21
22
# File 'lib/e621/row_count.rb', line 20

def self.set(table_name, count)
  upsert({ table_name: table_name, count: count }, unique_by: :table_name)
end