Sha256: d94e782641ff75f3535eb855c14e1b81998f8bfea1b83d4b040fa72f59bda655

Contents?: true

Size: 668 Bytes

Versions: 9

Compression:

Stored size: 668 Bytes

Contents

# frozen_string_literal: true

#
# UserAuditLog class, changes made by users
#
class UserAuditLog < AuditLog
  #
  # Fields
  #
  field :raw_user_name, type: String
  field :raw_email, type: String
  #
  # Relationships
  #
  belongs_to :user
  #
  # Call backs
  #
  before_validation :record_names

  def search_fields
    %w[raw_user_name]
  end

  #
  # Safely return the username
  #
  def user_name
    user.name
  rescue StandardError
    raw_user_name || 'Unknown'
  end

  private

  #
  # update the username in case it is deleted
  #
  def record_names
    return if user.blank?

    self.raw_user_name = user.name
    self.raw_email = user.email
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
web47core-3.2.20 lib/app/models/user_audit_log.rb
web47core-3.2.19 lib/app/models/user_audit_log.rb
web47core-3.2.18 lib/app/models/user_audit_log.rb
web47core-3.2.17 lib/app/models/user_audit_log.rb
web47core-3.2.16 lib/app/models/user_audit_log.rb
web47core-3.2.15 lib/app/models/user_audit_log.rb
web47core-3.2.14 lib/app/models/user_audit_log.rb
web47core-3.2.13 lib/app/models/user_audit_log.rb
web47core-3.2.12 lib/app/models/user_audit_log.rb