Sha256: afe79c8359fc63f7846505e35bfba8edec26a52b74e850d68b7567b7a466ba86
Contents?: true
Size: 1 KB
Versions: 1
Compression:
Stored size: 1 KB
Contents
require_dependency "renalware" module Renalware # Reponsible for assigning a system user to the record when it is created # and updated. # # @example # # clinic_visit = ClinicVisit.new(by: current_user) # clinic_visit.save! # clinic_visit.created_by == current_user # => true # clinic_visit.updated_by == current_user # => true # module Accountable extend ActiveSupport::Concern included do belongs_to :created_by, class_name: "Renalware::User" belongs_to :updated_by, class_name: "Renalware::User" before_create :assign_creator before_update :assign_updater attr_accessor :by scope :with_created_by, -> { includes(:created_by) } scope :with_updated_by, -> { includes(:updated_by) } end private def assign_creator self.created_by ||= by self.updated_by = created_by end def assign_updater return unless persisted? return if updated_by_id_changed? self.updated_by = by end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
renalware-core-2.0.0.pre.beta4 | app/models/concerns/renalware/accountable.rb |