project_group 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/VERSION +1 -1
- data/lib/project_group/command.rb +3 -1
- data/lib/project_group/config.rb +16 -0
- data/lib/project_group/repo.rb +9 -3
- data/lib/project_group/single.rb +1 -1
- data/project_group.gemspec +2 -2
- data/spec/config_spec.rb +40 -0
- data/spec/sublime_project_spec.rb +1 -1
- data/spec/support/make_initial.rb +5 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NmJkZTI4N2Q5MzIzYmU3MmNlNDMwOWY1MmQzMmU2MjRhNDFkNjE4NQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NDI4NWZjMGQ4NWU4ZDA4OTM4ZTZmNjljZWJkNjZlZjdiYjAyY2Y2Nw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NmI2NmVhMjI2ZjBhOTIwZjk2Y2EzYjZhMTY0ZWFmYjZiMmZmNTI0NjgxZmU1
|
10
|
+
ZWNiOGQzZDE3NDhmNGU2NDY1MTRlOTU0YzQ4NmNjMDlkNGZkNTQ3YmFmNzc5
|
11
|
+
ZTQ5OGY4ZmZhOTg0MGRkZDRkMWZmNTAyZWQ3NGJmMmRhMjRlYTI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NjBiYzI2NjE5Y2YzNDcxNGJmODg4ZWRkM2I1NzliNzVhZTA1ZGVlYWZjNjRk
|
14
|
+
MDM4YTc0NjM4YzQ3NDhmZmU1MThjODQwYTIzM2NmZTczOWNlMDJiZTVhMGY3
|
15
|
+
YjE5YzIwOWM1YzhkZjFiNWQ3OTM1ZDFhNTdlNzc4ODg1MDViYmQ=
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
@@ -12,8 +12,10 @@ module ProjectGroup
|
|
12
12
|
fattr(:group) do
|
13
13
|
if group_name
|
14
14
|
Configs.loaded.groups.find { |x| x.name == group_name }
|
15
|
-
|
15
|
+
elsif Configs.loaded.local_group
|
16
16
|
Configs.loaded.local_group
|
17
|
+
elsif Configs.loaded.group_for_dir(Dir.getwd)
|
18
|
+
Configs.loaded.group_for_dir(Dir.getwd)
|
17
19
|
end.tap { |x| raise "no group #{group_name}" unless x }
|
18
20
|
end
|
19
21
|
|
data/lib/project_group/config.rb
CHANGED
@@ -81,6 +81,18 @@ module ProjectGroup
|
|
81
81
|
local_config.andand.loaded_group
|
82
82
|
end
|
83
83
|
|
84
|
+
def group_for_dir(dir)
|
85
|
+
dir = File.expand_path(dir)
|
86
|
+
dir = dir.gsub("/Users/mharris717/Dropbox/CodeLink","/code")
|
87
|
+
groups.find do |group|
|
88
|
+
group.singles.any? do |proj|
|
89
|
+
path = File.expand_path(proj.path)
|
90
|
+
path = path.gsub("/Users/mharris717/Dropbox/CodeLink","/code")
|
91
|
+
File.expand_path(path) == dir
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
84
96
|
class << self
|
85
97
|
fattr(:instance) { new }
|
86
98
|
fattr(:loaded) do
|
@@ -93,6 +105,10 @@ module ProjectGroup
|
|
93
105
|
def group(name,&b)
|
94
106
|
instance.group(name,&b)
|
95
107
|
end
|
108
|
+
|
109
|
+
def get_group(name)
|
110
|
+
loaded.groups.find { |x| x.name == name }.tap { |x| raise "no group #{name}" unless x }
|
111
|
+
end
|
96
112
|
end
|
97
113
|
end
|
98
114
|
end
|
data/lib/project_group/repo.rb
CHANGED
@@ -7,9 +7,9 @@ module ProjectGroup
|
|
7
7
|
end
|
8
8
|
def cmd(str)
|
9
9
|
c = "cd #{path} && #{str}"
|
10
|
-
|
10
|
+
puts c
|
11
11
|
res = ProjectGroup.ec(c)
|
12
|
-
|
12
|
+
puts res
|
13
13
|
res
|
14
14
|
end
|
15
15
|
def git(*args)
|
@@ -19,6 +19,8 @@ module ProjectGroup
|
|
19
19
|
end
|
20
20
|
|
21
21
|
fattr(:repo) do
|
22
|
+
raise "path doesn't exist #{path}" unless FileTest.exist?(path)
|
23
|
+
raise "git path doesn't exist #{path}" unless FileTest.exist?("#{path}/.git")
|
22
24
|
Grit::Repo.new(path)
|
23
25
|
end
|
24
26
|
|
@@ -76,7 +78,11 @@ module ProjectGroup
|
|
76
78
|
end
|
77
79
|
end
|
78
80
|
fattr(:local_ref) do
|
79
|
-
repo.commits("master",1).first
|
81
|
+
res = repo.commits("master",1).first
|
82
|
+
if !res
|
83
|
+
raise "no local ref for #{path} " + `cd #{path} && ls -al`
|
84
|
+
end
|
85
|
+
res.sha.to_s
|
80
86
|
end
|
81
87
|
def pushed?
|
82
88
|
remote_ref == local_ref
|
data/lib/project_group/single.rb
CHANGED
data/project_group.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "project_group"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Mike Harris"]
|
12
|
-
s.date = "2013-10-
|
12
|
+
s.date = "2013-10-07"
|
13
13
|
s.description = "project_group"
|
14
14
|
s.email = "mharris717@gmail.com"
|
15
15
|
s.executables = ["proj"]
|
data/spec/config_spec.rb
CHANGED
@@ -7,6 +7,7 @@ shared_context "config" do
|
|
7
7
|
let(:local_config_body) { "" }
|
8
8
|
let(:config_body) { "" }
|
9
9
|
before(:all) do
|
10
|
+
MakeInitial.make
|
10
11
|
File.create("#{MakeInitial.tmp_dir}/configs/ezq.rb", config_body)
|
11
12
|
File.create("#{MakeInitial.tmp_dir}/tmp1/.project_group.rb", local_config_body)
|
12
13
|
|
@@ -104,6 +105,45 @@ describe "ProjectGroup::Config" do
|
|
104
105
|
end
|
105
106
|
end
|
106
107
|
|
108
|
+
describe "current dir group" do
|
109
|
+
include_context "config"
|
110
|
+
include_context "project"
|
111
|
+
|
112
|
+
project "foo" do
|
113
|
+
create "a.txt"
|
114
|
+
end
|
115
|
+
|
116
|
+
project "bar" do
|
117
|
+
create "a.txt"
|
118
|
+
end
|
119
|
+
|
120
|
+
let(:config_body) do
|
121
|
+
"ProjectGroup::Configs.group 'ezq' do |g|
|
122
|
+
g.project 'ezq' do |p|
|
123
|
+
p.path '#{MakeInitial.tmp_dir}/projects/foo'
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
ProjectGroup::Configs.group 'thing' do |g|
|
128
|
+
g.project 'other' do |p|
|
129
|
+
p.path '#{MakeInitial.tmp_dir}/projects/bar'
|
130
|
+
end
|
131
|
+
end"
|
132
|
+
end
|
133
|
+
|
134
|
+
it 'dir' do
|
135
|
+
dir = "#{MakeInitial.tmp_dir}/projects/foo"
|
136
|
+
ProjectGroup::Configs.loaded.group_for_dir(dir).name.should == 'ezq'
|
137
|
+
end
|
138
|
+
|
139
|
+
it 'bar' do
|
140
|
+
dir = "#{MakeInitial.tmp_dir}/projects/bar"
|
141
|
+
ProjectGroup::Configs.loaded.group_for_dir(dir).name.should == 'thing'
|
142
|
+
end
|
143
|
+
|
144
|
+
|
145
|
+
end
|
146
|
+
|
107
147
|
describe "local project file" do
|
108
148
|
include_context "config"
|
109
149
|
let(:local_config_body) do
|
@@ -17,9 +17,9 @@ class MakeInitial
|
|
17
17
|
Dir.chdir(projects_dir,&b)
|
18
18
|
end
|
19
19
|
def ec(cmd)
|
20
|
-
|
20
|
+
puts cmd
|
21
21
|
res = `#{cmd} 2>&1`
|
22
|
-
|
22
|
+
puts res
|
23
23
|
res
|
24
24
|
end
|
25
25
|
def git(cmd)
|
@@ -36,6 +36,8 @@ class MakeInitial
|
|
36
36
|
ec "mkdir #{name}"
|
37
37
|
Dir.chdir(name) do
|
38
38
|
ec "git init"
|
39
|
+
ec "git config user.email johnsmith@fake.com"
|
40
|
+
ec "git config user.name \"John Smith\""
|
39
41
|
git "remote add origin file://#{tmp_dir}/origin/#{name}.git"
|
40
42
|
yield
|
41
43
|
end
|
@@ -106,6 +108,7 @@ shared_context "project" do
|
|
106
108
|
end
|
107
109
|
end
|
108
110
|
end
|
111
|
+
sleep(0.1)
|
109
112
|
end
|
110
113
|
end
|
111
114
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: project_group
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Harris
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mharris_ext
|