Describe for Roles
This commit is contained in:
parent
64db5f808b
commit
82ae973a99
11 changed files with 75 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
# == Account role
|
||||
#
|
||||
# Describe behaviour of User in application
|
||||
#
|
||||
# Used by User
|
||||
#
|
||||
module Account
|
||||
# Returns a string for use as a Gitolite user identifier
|
||||
#
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
# == Authority role
|
||||
#
|
||||
# Control access to project repository based on users role in team
|
||||
#
|
||||
# Used by Project
|
||||
#
|
||||
module Authority
|
||||
# Compatible with all access rights
|
||||
# Should be rewrited for new access rights
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
# == GitHost role
|
||||
#
|
||||
# Provide a shortcut to Gitlab::Gitolite instance
|
||||
#
|
||||
# Used by Project, UsersProject
|
||||
#
|
||||
module GitHost
|
||||
def git_host
|
||||
Gitlab::Gitolite.new
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
# == IssueCommonality role
|
||||
#
|
||||
# Contains common functionality shared between Issues and MergeRequests
|
||||
#
|
||||
# Used by Issue, MergeRequest
|
||||
#
|
||||
module IssueCommonality
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
# == NamespacedProject role
|
||||
#
|
||||
# Provides extra functionality for Project related to namespaces like:
|
||||
# - transfer project between namespaces
|
||||
# - name, path including namespece
|
||||
# - project owner based on namespace
|
||||
#
|
||||
# Used by Project
|
||||
#
|
||||
module NamespacedProject
|
||||
def transfer(new_namespace)
|
||||
Project.transaction do
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
# == NoteEvent role
|
||||
#
|
||||
# Extends Event model functionality by providing extra methods related to comment events
|
||||
#
|
||||
# Used by Event
|
||||
#
|
||||
module NoteEvent
|
||||
def note_commit_id
|
||||
target.commit_id
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
# == PushEvent role
|
||||
#
|
||||
# Extends Event model functionality by providing extra methods related to push events
|
||||
#
|
||||
# Used by Event
|
||||
#
|
||||
module PushEvent
|
||||
def valid_push?
|
||||
data[:ref]
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
# Includes methods for handling Git Push events
|
||||
# == PushObserver role
|
||||
#
|
||||
# Includes methods to be triggered on push to project repository.
|
||||
#
|
||||
#
|
||||
# Used by Project
|
||||
# Triggered by PostReceive job
|
||||
#
|
||||
module PushObserver
|
||||
# This method will be called after each post receive and only if the provided
|
||||
# user is present in GitLab.
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
# == Repository role
|
||||
#
|
||||
# Provides access to git repository resources like commits, branches etc..
|
||||
# Allows you to manage repository via gitolite interface(git_host)
|
||||
#
|
||||
# Used by Project
|
||||
#
|
||||
module Repository
|
||||
include GitHost
|
||||
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
# == Team role
|
||||
#
|
||||
# Provides functionality to manage project team
|
||||
# - add user/users to project
|
||||
# - update existing membership
|
||||
# - remove users from project team
|
||||
#
|
||||
# Used by Project
|
||||
#
|
||||
module Team
|
||||
def team_member_by_name_or_email(name = nil, email = nil)
|
||||
user = users.where("name like ? or email like ?", name, email).first
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
# == Votes role
|
||||
#
|
||||
# Provides functionality to upvote/downvote entity
|
||||
# based on +1 and -1 notes
|
||||
#
|
||||
# Used for Issue and Merge Request
|
||||
#
|
||||
module Votes
|
||||
# Return the number of +1 comments (upvotes)
|
||||
def upvotes
|
||||
|
|
Loading…
Reference in a new issue