module Lanes::Concerns::TrackModifications::ClassMethods

Public Instance Methods

with_user_logins() click to toggle source
# File lib/lanes/access/track_modifications.rb, line 27
def with_user_logins
    q = self; t = table_name
    if current_scope.nil? || current_scope.select_values.exclude?("#{t}.*")
        q = q.select("#{t}.*")
    end
    if self.column_names.include?('created_by_id')
        q = q.select("created_by_user.login as created_by_login")
              .joins("left join lanes_users as created_by_user on " \
                     "created_by_user.id = #{t}.created_by_id")
    end
    if self.column_names.include?('updated_by_id')
        q = q.select("updated_by_user.login as updated_by_login")
              .joins("left join lanes_users as updated_by_user on " \
                     "updated_by_user.id = #{t}.updated_by_id")
    end
    q
end