class Cumuli::ProjectManager::Manager
Constants
- DEFAULT_PROJECT_PATH
Attributes
config_path[RW]
procfile_path[RW]
Public Class Methods
new(path=DEFAULT_PROJECT_PATH)
click to toggle source
# File lib/cumuli/project_manager/manager.rb, line 8 def initialize(path=DEFAULT_PROJECT_PATH) @path = path @config_path = "#{path}/config/projects.yml" @procfile_path = "#{path}/Procfile" end
Public Instance Methods
config()
click to toggle source
# File lib/cumuli/project_manager/manager.rb, line 47 def config @config ||= YAML.load( File.read(config_path) ) end
project(name)
click to toggle source
# File lib/cumuli/project_manager/manager.rb, line 43 def project(name) projects.detect{|p| p.name == name} end
projects()
click to toggle source
# File lib/cumuli/project_manager/manager.rb, line 39 def projects @projects ||= config.map{ |name, opts| Cumuli::ProjectManager::Project.new(name, opts) } end
publish()
click to toggle source
# File lib/cumuli/project_manager/manager.rb, line 14 def publish File.open(procfile_path, 'w') do |f| projects.each do |project| f.write project.to_procfile end end end
setup()
click to toggle source
# File lib/cumuli/project_manager/manager.rb, line 22 def setup publish submodules_init system('git submodule init') system('git submodule update') system("git submodule foreach git pull") setup_projects end
setup_projects()
click to toggle source
# File lib/cumuli/project_manager/manager.rb, line 35 def setup_projects projects.each { |project| project.setup } end
submodules_init()
click to toggle source
# File lib/cumuli/project_manager/manager.rb, line 31 def submodules_init projects.each { |project| project.submodule_init } end