Class: C80Yax::StrsubcatObserver
- Inherits:
-
ActiveRecord::Observer
- Object
- ActiveRecord::Observer
- C80Yax::StrsubcatObserver
- Defined in:
- app/models/c80_yax/strsubcat_observer.rb
Instance Method Summary collapse
-
#after_create(strsubcat) ⇒ Object
Админ создаёт подкатегорию: • в базе должна создаться таблица вещей подкатегории типа str_111_items со столбцами - свойствами, присущ.
-
#after_update(strsubcat) ⇒ Object
Админ обновляет подкатегорию: • если были изменены свойства, присущ.
-
#before_destroy(strsubcat) ⇒ Object
Админ удаляет подкатегорию: • удаляем таблицу вещей подкатегории типа str_111_items.
Instance Method Details
#after_create(strsubcat) ⇒ Object
Админ создаёт подкатегорию:
• в базе должна создаться таблица вещей подкатегории типа str_111_items
со столбцами - свойствами, присущ. подкатегории
7 8 9 10 11 |
# File 'app/models/c80_yax/strsubcat_observer.rb', line 7 def after_create(strsubcat) Rails.logger.debug "[TRACE] <StrsubcatObserver.after_create> Создана подкатегория #{strsubcat.id}." # byebug StrsubcatRuntimeTables.table_check_and_build(strsubcat) end |
#after_update(strsubcat) ⇒ Object
Админ обновляет подкатегорию:
• если были изменены свойства, присущ. подкатегории:
• удаляем таблицу вещей подкатегории типа str_111_items
• если свойства, присущ. подкатегории, были удалены - чистим от них таблицу item_props
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'app/models/c80_yax/strsubcat_observer.rb', line 17 def after_update(strsubcat) # TODO-0:: проверить, что таблица удаляется, затем создаётся и заполняется, когда добавляем свойства if strsubcat.prop_names_changed? Rails.logger.debug '[TRACE] <StrsubcatObserver.after_update> Удаляем таблицу, чистим item_props.' # byebug StrsubcatRuntimeTables.table_drop(strsubcat) StrsubcatRuntimeTables.check_and_clean_item_props(strsubcat) else Rails.logger.debug '[TRACE] <StrsubcatObserver.after_update> Просто обновилась...' # byebug end StrsubcatRuntimeTables.table_check_and_build(strsubcat) StrsubcatRuntimeTables.table_fill(strsubcat.id) end |
#before_destroy(strsubcat) ⇒ Object
Админ удаляет подкатегорию:
• удаляем таблицу вещей подкатегории типа str_111_items
39 40 41 42 43 |
# File 'app/models/c80_yax/strsubcat_observer.rb', line 39 def before_destroy(strsubcat) Rails.logger.debug "[TRACE] <StrsubcatObserver.before_destroy> Удалена подкатегория #{strsubcat.id}." # byebug StrsubcatRuntimeTables.table_drop(strsubcat) # 1) end |