Sha256: 278a32a709e3cfb9e9a6638df3e8ee97c558b7e8f292db887d35d10c0eef4483
Contents?: true
Size: 1.32 KB
Versions: 3
Compression:
Stored size: 1.32 KB
Contents
module NippoCore class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable has_many :created_groups, class_name: 'NippoCore::Group', foreign_key: 'creator_id', dependent: :destroy has_many :reports, dependent: :destroy has_many :groups, through: :group_member_relations has_many :group_member_relations, dependent: :destroy validates :last_name, presence: true validates :first_name, presence: true validates :nickname, presence: true def send_request(group) relation = group_member_relations.find_or_initialize_by(group: group) relation.save end # TODO: had better check! def add_member(user, group) relation = group.group_member_relations.find_or_initialize_by(user: user, accepted_at: nil) relation.accepted_at = Time.now relation.accepter = self relation.save end def accept_request(request) return unless request.group.member?(self) request.accepted_at = Time.now request.accepter = self request.save end def request_to?(group) group_member_relations.exists?(group_id: group.id) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
nippo_core-1.0.1 | app/models/nippo_core/user.rb |
nippo_core-1.0.0 | app/models/nippo_core/user.rb |
nippo_core-0.3.0 | app/models/nippo_core/user.rb |