# -*- encoding : utf-8 -*- module KirguduBase module Models module BasicProperties module CreatedBy def self.included(base) base.belongs_to :creator, class_name: ::KirguduBase::Security::User, foreign_key: :created_by base.scope :by_creator, lambda { |value| base.where(created_by: value) if value } base.class_eval do include InstanceMethods end end module InstanceMethods def creator_name creator.full_name if creator end end end module UpdatedBy def self.included(base) base.belongs_to :updater, class_name: ::KirguduBase::Security::User, foreign_key: :updated_by base.scope :by_updater, lambda { |value| base.where(updated_by: value) if value } base.class_eval do include InstanceMethods end end module InstanceMethods def updater_name updater.full_name if updater end end end module OwnedBy def self.included(base) base.belongs_to :owner, class_name: ::KirguduBase::Security::User, foreign_key: :owned_by base.scope :by_owner, lambda { |value| base.where(owned_by: value) if value } base.class_eval do include InstanceMethods end end module InstanceMethods def owner_name owner.full_name if owner end end end module ManagedBy def self.included(base) base.belongs_to :manager, class_name: ::KirguduBase::Security::User, foreign_key: :managed_by base.scope :by_manager, lambda { |value| base.where(managed_by: value) if value } base.class_eval do include InstanceMethods end end module InstanceMethods def manager_name manager.full_name if manager end end end module AdministratedBy def self.included(base) base.belongs_to :administrator, class_name: ::KirguduBase::Security::User, foreign_key: :administrated_by base.scope :by_administrator, lambda { |value| base.where(administrated_by: value) if value } base.class_eval do include InstanceMethods end end module InstanceMethods def administrator_name administrator.full_name if administrator end end end module User def self.included(base) base.belongs_to :user, class_name: ::KirguduBase::Security::User, foreign_key: :user_id base.scope :by_user, lambda { |value| base.where(user_id: value) if value } base.class_eval do include InstanceMethods end end module InstanceMethods def user_name user.full_name if user end end end module Portal def self.included(base) base.belongs_to :portal, class_name: ::KirguduBase::Common::Portal, foreign_key: :portal_id base.scope :by_portal, lambda { |value| base.where(portal_id: value) if value } base.class_eval do include InstanceMethods end end module InstanceMethods def portal_name portal.name if portal end end end module PortalUser def self.included(base) base.belongs_to :portal_user, class_name: ::KirguduBase::Common::PortalUser, foreign_key: :portal_user_id base.scope :by_portal_user, lambda { |value| base.where(portal_user_id: value) if value } base.class_eval do include InstanceMethods end end module InstanceMethods def portal_user_name portal_user.full_name if portal_user end end end end end end