Module: Anvil::Task::Projects

Defined in:
lib/anvil/task/projects.rb

Instance Method Summary collapse

Instance Method Details

#change_project(project) ⇒ Object



10
11
12
13
14
# 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) ⇒ Array

Runs on_project on an array of projects

Parameters:

  • projects (Array)

    an array of projects managed by anvil

Returns:

  • (Array)

    an array with the values returned by each on_project run



34
35
36
37
38
# 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) ⇒ Object

Yields a block in which PWD is the folder of a project managed by anvil.

Parameters:

  • project (String)

    the name of a project managed by anvil

Returns:

  • (Object)

    anything returned by the yielded block



21
22
23
24
25
26
27
# 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) ⇒ Object



6
7
8
# File 'lib/anvil/task/projects.rb', line 6

def project_path(project)
  Anvil::Config.base_projects_path + "/#{project}"
end