Sha256: bc0f9272e6f99980dccbec74b4192313bf62ada20d1dbd3e2362a39a6a660ee2
Contents?: true
Size: 998 Bytes
Versions: 3
Compression:
Stored size: 998 Bytes
Contents
require 'bcrypt' module Gritano class User < ActiveRecord::Base include BCrypt validates :login, presence: true validates_uniqueness_of :login has_many :permissions has_many :repositories, through: :permissions has_many :keys def add_access(repo, access) change_access(repo, "add", access) end def remove_access(repo, access) change_access(repo, "remove", access) end def change_access(repo, op, access) permission = Permission.find_by_user_id_and_repository_id(self.id, repo.id) || Permission.new permission.user_id = self.id permission.repository_id = repo.id if permission.send("#{op}_access", access) return permission.save else return false end end def check_access(repo, access) permission = Permission.find_by_user_id_and_repository_id(self.id, repo.id) return permission.is(access) if permission return false end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
gritano-1.0.0 | lib/gritano/models/user.rb |
gritano-0.11.2 | lib/gritano/models/user.rb |
gritano-0.11.1 | lib/gritano/models/user.rb |