Sha256: 7c1d97d8bd96f529f2ee310948eafc0e5b500869602c80af37590750760b53cd
Contents?: true
Size: 947 Bytes
Versions: 6
Compression:
Stored size: 947 Bytes
Contents
module Gritano module Core class User < ActiveRecord::Base validates :login, presence: true validates :login, uniqueness: true has_many :keys has_many :permissions has_many :repositories, through: :permissions def add_access(repo, access_type) permission = repo.permissions.where(user_id: self.id).first || repo.permissions.new(user_id: self.id) permission.add_access(access_type) permission.save end def remove_access(repo, access_type) permission = repo.permissions.where(user_id: self.id).first || repo.permissions.new(user_id: self.id) permission.remove_access(access_type) permission.save end def check_access(repo, access_type) permission = repo.permissions.where(user_id: self.id).first if permission permission.is(access_type) else false end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems