Module | ActiveRecord::DisplayMonitor |
In: |
lib/display_monitor.rb
|
編集画面の情報を記録するモジュール。
# File lib/display_monitor.rb, line 6 6: def self.included(base) 7: base.class_eval do 8: alias_method_chain :create, :display 9: alias_method_chain :update, :display 10: end 11: end
create を置き換える。 カラム created_in や updated_in が存在する場合は当該画面を記録する。
# File lib/display_monitor.rb, line 15 15: def create_with_display 16: display_id = Display.current_id 17: self[:created_in] = display_id if respond_to?(:created_in) && created_in.nil? 18: self[:updated_in] = display_id if respond_to?(:updated_in) 19: create_without_display 20: end
update を置き換える。 カラム updated_in が存在する場合は当該画面を記録する。
# File lib/display_monitor.rb, line 24 24: def update_with_display 25: display_id = Display.current_id 26: self[:updated_in] = display_id if respond_to?(:updated_in) 27: update_without_display 28: end