Sha256: 816c203406b9a5cff9601761ad41077333bebdd9713c3cc40f16312fe2cb9668

Contents?: true

Size: 1.42 KB

Versions: 22

Compression:

Stored size: 1.42 KB

Contents

module C80Yax
  # noinspection RubyResolve
  class ItemObserver < ActiveRecord::Observer

    # Админ создаёт вещь:
    #   • в таблице типа str_111_items должна появиться строка, описывающая эту вещь
    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

    # Админ обновляет вещь:
    #
    def after_update(item)
      Rails.logger.debug "[TRACE] <ItemObserver.after_update> item.title = #{item.title}"
      StrsubcatRuntimeTables.item_update(item.strsubcat.id,item.id)
    end

    # Админ удаляет вещь:
    # • (средствами рельсы) из таблицы item_props должны исчезнуть свойства этой вещи
    # • из таблицы типа str_111_items должна исчезнуть строка, описывающая эту вещь
    def after_destroy(item)
      StrsubcatRuntimeTables.item_drop(item.strsubcat.id, item.id)
    end


  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
c80_yax-0.1.0.25 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.24 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.23 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.22 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.21 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.20 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.18 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.17 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.16 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.15 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.14 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.13 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.12 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.11 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.10 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.9 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.8 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.7 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.6 app/models/c80_yax/item_observer.rb
c80_yax-0.1.0.5 app/models/c80_yax/item_observer.rb