Class: ProjectGroup::Configs
- Inherits:
-
Object
- Object
- ProjectGroup::Configs
- Defined in:
- lib/project_group/config.rb
Class Method Summary collapse
Instance Method Summary collapse
- #group(name, &b) ⇒ Object
- #group_for_dir(dir) ⇒ Object
- #load! ⇒ Object
- #local_group ⇒ Object
- #project(name, &b) ⇒ Object
Class Method Details
.get_group(name) ⇒ Object
109 110 111 |
# File 'lib/project_group/config.rb', line 109 def get_group(name) loaded.groups.find { |x| x.name == name }.tap { |x| raise "no group #{name}" unless x } end |
.group(name, &b) ⇒ Object
105 106 107 |
# File 'lib/project_group/config.rb', line 105 def group(name,&b) instance.group(name,&b) end |
.project(name, &b) ⇒ Object
102 103 104 |
# File 'lib/project_group/config.rb', line 102 def project(name,&b) instance.project(name,&b) end |
Instance Method Details
#group(name, &b) ⇒ Object
72 73 74 75 76 77 |
# File 'lib/project_group/config.rb', line 72 def group(name,&b) c = GroupWrapper.new(Group.new(:name => name)) c.configs = self b[c] self.group_configs << c end |
#group_for_dir(dir) ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/project_group/config.rb', line 84 def group_for_dir(dir) dir = File.(dir) dir = dir.gsub("/Users/mharris717/Dropbox/CodeLink","/code") groups.find do |group| group.singles.any? do |proj| path = File.(proj.path) path = path.gsub("/Users/mharris717/Dropbox/CodeLink","/code") File.(path) == dir end end end |
#load! ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/project_group/config.rb', line 45 def load! Dir["#{dir}/*.rb"].each do |f| load f end global_groups = group_configs.clone locals = ["#{Dir.getwd}/.project_group.rb","#{Dir.getwd}/.project_group"] locals.each do |f| if FileTest.exist?(f) load(f) local_groups = group_configs - global_groups local_groups.first.local = true if local_groups.size > 0 end end end |
#local_group ⇒ Object
79 80 81 82 |
# File 'lib/project_group/config.rb', line 79 def local_group local_config = group_configs.find { |x| x.local } local_config.andand.loaded_group end |
#project(name, &b) ⇒ Object
66 67 68 69 70 |
# File 'lib/project_group/config.rb', line 66 def project(name,&b) c = DSLWrapper.new(Single.new(:name => name)) b[c] self.projects << c.obj end |