21 lines
		
	
	
		
			508 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			508 B
		
	
	
	
		
			Ruby
		
	
	
	
| module Gitlab
 | |
|   module GlRepository
 | |
|     def self.gl_repository(project, is_wiki)
 | |
|       "#{is_wiki ? 'wiki' : 'project'}-#{project.id}"
 | |
|     end
 | |
| 
 | |
|     def self.parse(gl_repository)
 | |
|       match_data = /\A(project|wiki)-([1-9][0-9]*)\z/.match(gl_repository)
 | |
|       unless match_data
 | |
|         raise ArgumentError, "Invalid GL Repository \"#{gl_repository}\""
 | |
|       end
 | |
| 
 | |
|       type, id = match_data.captures
 | |
|       project = Project.find_by(id: id)
 | |
|       wiki = type == 'wiki'
 | |
| 
 | |
|       [project, wiki]
 | |
|     end
 | |
|   end
 | |
| end
 |