Module | ActiveRecord::UserMonitor
In: | lib/user_monitor.rb

操作者の情報を記録するモジュール。

### Methods

create_with_user created_by_with_user included update_with_user updated_by_with_user

### Classes and Modules

Module ActiveRecord::UserMonitor::ClassMethods

### Public Class methods

included(base)

[Source]

        # File lib/user_monitor.rb, line 6
     6:     def self.included(base)
     7:       base.alias_method_chain :create, :user
     8:       base.alias_method_chain :update, :user
     9:       base.extend(ClassMethods)
    10:     end

### Public Instance methods

create_with_user()

`create` を置き換える。 カラム `created_by` や `updated_by` が存在する場合は作成者を記録する。

[Source]

        # File lib/user_monitor.rb, line 23
    23:     def create_with_user
    24:       user_id = User.current_id
    25:       write_attribute("created_by", user_id) if self.class.column_names.include?("created_by") && created_by.nil?
    26:       write_attribute("updated_by", user_id) if self.class.column_names.include?("updated_by")
    27:       create_without_user
    28:     end

created_by_with_user()

作成者を `User` インスタンスとして返す。 存在しない場合は nil を返す。

[Source]

        # File lib/user_monitor.rb, line 40
    40:     def created_by_with_user
    41:       begin
    42:         User.find(read_attribute("created_by"))
    43:       rescue ActiveRecord::RecordNotFound
    44:         nil
    45:       end
    46:     end

update_with_user()

`update` を置き換える。 カラム `updated_by` が存在する場合は更新者を記録する。

[Source]

        # File lib/user_monitor.rb, line 32
    32:     def update_with_user
    33:       user_id = User.current_id
    34:       write_attribute("updated_by", user_id) if self.class.column_names.include?("updated_by")
    35:       update_without_user
    36:     end

updated_by_with_user()

更新者を `User` インスタンスとして返す。 存在しない場合は nil を返す。

[Source]

        # File lib/user_monitor.rb, line 50
    50:     def updated_by_with_user
    51:       begin
    52:         User.find(read_attribute("updated_by"))
    53:       rescue ActiveRecord::RecordNotFound
    54:         nil
    55:       end
    56:     end

[Validate]