module Anvil::Task::Projects
Public Instance Methods
change_project(project)
click to toggle source
# File lib/anvil/task/projects.rb, line 10 def change_project(project) Dir.chdir(project_path(project)) rescue Errno::ENOENT log_project_does_not_exists project end
on_each_project(projects) { |project, project_git| ... }
click to toggle source
Runs on_project
on an array of projects
@param [Array] projects an array of projects managed by anvil @return [Array] an array with the values returned by each
on_project run
# File lib/anvil/task/projects.rb, line 34 def on_each_project(projects) projects.map do |project| on_project(project) { |project_git| yield project, project_git } end end
on_project(project) { |git| ... }
click to toggle source
Yields a block in which PWD is the folder of a project managed by anvil.
@param [String] project the name of a project managed by anvil @return [Object] anything returned by the yielded block
# File lib/anvil/task/projects.rb, line 21 def on_project(project) Dir.chdir(project_path(project)) do yield(git) end rescue Errno::ENOENT log_project_does_not_exists project end
project_path(project)
click to toggle source
# File lib/anvil/task/projects.rb, line 6 def project_path(project) Anvil::Config.base_projects_path + "/#{project}" end
Protected Instance Methods
git()
click to toggle source
# File lib/anvil/task/projects.rb, line 47 def git Git.open(Dir.pwd) end
log_project_does_not_exists(project)
click to toggle source
# File lib/anvil/task/projects.rb, line 42 def log_project_does_not_exists(project) logger.info "Anvil knows nothing about #{project}." logger.info 'Please, check anvil help projects:add first to add the project to anvil.' end