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

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

### Methods

create_with_display created_in included update_with_display updated_in

### Public Class methods

included(base)

[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_with_display()

`create` を置き換える。 カラム `created_in` や `updated_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

created_in()

作成画面を `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_with_display()

`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

updated_in()

更新画面を `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]