Sha256: a2119bfe29c0f72409f72ecea0d10a28c7be59d0b0be40dc60852d2119a8d246
Contents?: true
Size: 1.01 KB
Versions: 6
Compression:
Stored size: 1.01 KB
Contents
module Gritano module Core class Permission < ActiveRecord::Base belongs_to :user belongs_to :repository validates :user_id, presence: true validates :repository_id, presence: true validates :access, presence: true def add_access(type) if type == :read self.access = READ | (self.access || 0) elsif type == :write self.access = WRITE | (self.access || 0) else return false end return true end def remove_access(access) if access == :read self.access = (self.access || 0) & (~ READ) elsif access == :write self.access = (self.access || 0) & (~ WRITE) else return false end return true end def is(type) if type == :read return (self.access & READ) == READ elsif type == :write return (self.access & WRITE) == WRITE end end READ = 1 WRITE = 2 end end end
Version data entries
6 entries across 6 versions & 1 rubygems