Class: C80Yax::ItemObserver

Inherits:
ActiveRecord::Observer
  • Object
show all
Defined in:
app/models/c80_yax/item_observer.rb

Overview

noinspection RubyResolve

Instance Method Summary collapse

Instance Method Details

#after_commit(item) ⇒ Object

Админ создаёт вещь:

• в таблице типа str_111_items должна появиться строка, описывающая эту вещь


7
8
9
10
11
# File 'app/models/c80_yax/item_observer.rb', line 7

def after_commit(item)
  Rails.logger.debug "[TRACE] <ItemObserver.after_commit> Создан предмет '#{item.title}'."
  StrsubcatRuntimeTables.table_check_and_build(item.strsubcat)
  StrsubcatRuntimeTables.table_fill(item.strsubcat.id) # TODO-5:: оптимизировать: не надо совершать операцию "заполнить таблицу", надо совершить операцию "вставлять в таблицу строку"
end

#after_destroy(item) ⇒ Object

Админ удаляет вещь: • (средствами рельсы) из таблицы item_props должны исчезнуть свойства этой вещи • из таблицы типа str_111_items должна исчезнуть строка, описывающая эту вещь



23
24
25
# File 'app/models/c80_yax/item_observer.rb', line 23

def after_destroy(item)
  StrsubcatRuntimeTables.item_drop(item.strsubcat.id, item.id)
end

#after_update(item) ⇒ Object

Админ обновляет вещь:



15
16
17
18
# File 'app/models/c80_yax/item_observer.rb', line 15

def after_update(item)
  Rails.logger.debug "[TRACE] <ItemObserver.after_update> item.title = #{item.title}"
  StrsubcatRuntimeTables.item_update(item.strsubcat.id,item.id)
end