Class: Worktool::ProjectManager
- Inherits:
-
Object
- Object
- Worktool::ProjectManager
- Defined in:
- lib/worktool/project_manager.rb
Instance Method Summary collapse
- #find_project(user_repo) ⇒ Object
- #find_project_by_repo(repo) ⇒ Object
- #find_repo_path(params) ⇒ Object
-
#initialize(projects_path) ⇒ ProjectManager
constructor
A new instance of ProjectManager.
- #projects ⇒ Object
Constructor Details
#initialize(projects_path) ⇒ ProjectManager
4 5 6 |
# File 'lib/worktool/project_manager.rb', line 4 def initialize(projects_path) @projects_path = projects_path end |
Instance Method Details
#find_project(user_repo) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/worktool/project_manager.rb', line 26 def find_project(user_repo) matches = projects.select do |project| project == user_repo end matches.first if matches end |
#find_project_by_repo(repo) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/worktool/project_manager.rb', line 19 def find_project_by_repo(repo) matches = projects.select do |project| project.match(/\/#{repo}$/) end matches.first if matches end |
#find_repo_path(params) ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/worktool/project_manager.rb', line 8 def find_repo_path(params) return nil unless params[:repo] if params[:user] project = find_project(params[:user] + '/' + params[:repo]) else project = find_project_by_repo(params[:repo]) end return nil unless project Pathname.new(@projects_path).join(project).to_s end |
#projects ⇒ Object
33 34 35 36 37 38 |
# File 'lib/worktool/project_manager.rb', line 33 def projects projects_path = Pathname.new(@projects_path) Pathname.glob(projects_path.join('*/*/')).map do |directory| directory.relative_path_from(projects_path).to_s end end |