Module ActiveRecord::DisplayMonitor
In: lib/display_monitor.rb

編集画面の情報を記録するモジュール。

Methods

Public Class methods

[Source]

    # 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

Public Instance methods

create を置き換える。 カラム created_inupdated_in が存在する場合は当該画面を記録する。

[Source]

    # 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

作成画面を Display インスタンスとして返す。 存在しない場合は nil を返す。

[Source]

    # File lib/display_monitor.rb, line 32
32:     def created_in
33:       begin
34:         Display.find(self[:created_in])
35:       rescue ActiveRecord::RecordNotFound
36:         nil
37:       end
38:     end

update を置き換える。 カラム updated_in が存在する場合は当該画面を記録する。

[Source]

    # 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

更新画面を Display インスタンスとして返す。 存在しない場合は nil を返す。

[Source]

    # File lib/display_monitor.rb, line 42
42:     def updated_in
43:       begin
44:         Display.find(self[:updated_in])
45:       rescue ActiveRecord::RecordNotFound
46:         nil
47:       end
48:     end

[Validate]