Sha256: 2896bcb6af5e62f3f4bebfcd95dc412f6e826d57d89a73d07393f0cb6a585c86

Contents?: true

Size: 1.24 KB

Versions: 104

Compression:

Stored size: 1.24 KB

Contents

module Comee
  module Core
    class User < ApplicationRecord
      has_one :email_setting

      has_secure_password
      has_many :notifications, as: :recipient, dependent: :destroy
      has_many :user_application_roles
      has_many :roles, through: :user_application_roles

      validates :name, :email, presence: true
      validates :email, uniqueness: true

      def delivery_options
        setting = email_setting
        {
          address: setting.smtp_address,
          port: setting.smtp_port,
          user_name: setting.smtp_user,
          password: setting.smtp_password,
          authentication: setting.authentication,
          enable_starttls_auto: setting.starttls_auto,
          open_timeout: setting.open_timeout,
          read_timeout: setting.read_timeout
        }
      end

      def application_roles?(application)
        roles.references(:user_application_roles)
             .where(comee_core_user_application_roles: {application_module_id: application.id})
             .count
             .positive?
      end

      def application_roles(application)
        roles.references(:user_application_roles)
             .where(comee_core_user_application_roles: {application_module_id: application.id})
      end
    end
  end
end

Version data entries

104 entries across 104 versions & 1 rubygems

Version Path
comee_core-0.3.62 app/models/comee/core/user.rb
comee_core-0.3.61 app/models/comee/core/user.rb
comee_core-0.3.60 app/models/comee/core/user.rb
comee_core-0.3.59 app/models/comee/core/user.rb
comee_core-0.3.58 app/models/comee/core/user.rb
comee_core-0.3.57 app/models/comee/core/user.rb
comee_core-0.3.56 app/models/comee/core/user.rb
comee_core-0.3.55 app/models/comee/core/user.rb
comee_core-0.3.54 app/models/comee/core/user.rb
comee_core-0.3.53 app/models/comee/core/user.rb
comee_core-0.3.51 app/models/comee/core/user.rb
comee_core-0.3.50 app/models/comee/core/user.rb
comee_core-0.3.49 app/models/comee/core/user.rb
comee_core-0.3.48 app/models/comee/core/user.rb
comee_core-0.3.47 app/models/comee/core/user.rb
comee_core-0.3.46 app/models/comee/core/user.rb
comee_core-0.3.45 app/models/comee/core/user.rb
comee_core-0.3.44 app/models/comee/core/user.rb
comee_core-0.3.43 app/models/comee/core/user.rb
comee_core-0.3.42 app/models/comee/core/user.rb