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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NWY1YzczN2U2NWQ0NWYwYThjNmNiZjg5NzgyNTZjNmYxZTQ2NTVhNw==
4
+ NmJkZTI4N2Q5MzIzYmU3MmNlNDMwOWY1MmQzMmU2MjRhNDFkNjE4NQ==
5
5
  data.tar.gz: !binary |-
6
- YmYwNDg4YmI4OWRmY2Y3ODc3MDI0NGQzMjUxNTZiYzZiYWEyMjBiMw==
6
+ NDI4NWZjMGQ4NWU4ZDA4OTM4ZTZmNjljZWJkNjZlZjdiYjAyY2Y2Nw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MmUwNmE2MGE0MmM3NmNmOGM2ZjY2YzVmOGM5NWU5YTI3ZDc5NGQ2MDE4NTAx
10
- ZWFiMmFkOTE2ZGQ2ODY0OThjZmE1MGM1ZDA5MDZmN2EzMWMxN2VmNTA4Yjc3
11
- NmZjYmNmOGFiNDZkNmQ5MGQ0ODViZjBjNDkwY2UyYjkyYzljMjM=
9
+ NmI2NmVhMjI2ZjBhOTIwZjk2Y2EzYjZhMTY0ZWFmYjZiMmZmNTI0NjgxZmU1
10
+ ZWNiOGQzZDE3NDhmNGU2NDY1MTRlOTU0YzQ4NmNjMDlkNGZkNTQ3YmFmNzc5
11
+ ZTQ5OGY4ZmZhOTg0MGRkZDRkMWZmNTAyZWQ3NGJmMmRhMjRlYTI=
12
12
  data.tar.gz: !binary |-
13
- YjBkYjM0NGY2MGQ4MGRlM2U0YWM2NWUxMjNhNGM5ZTkwYWMyZjA1YzJlZmI1
14
- ZTdjMmM5MjZlNTRkN2Q1NTM0NTNlNTBhMTBkNGZhNjY0NGI2ZTI2YmIzNDUx
15
- M2ExOWMwNGEwMmViMGE5MTRkY2Q2Mzc2NzJiNmViNWRiYWZjNmE=
13
+ NjBiYzI2NjE5Y2YzNDcxNGJmODg4ZWRkM2I1NzliNzVhZTA1ZGVlYWZjNjRk
14
+ MDM4YTc0NjM4YzQ3NDhmZmU1MThjODQwYTIzM2NmZTczOWNlMDJiZTVhMGY3
15
+ YjE5YzIwOWM1YzhkZjFiNWQ3OTM1ZDFhNTdlNzc4ODg1MDViYmQ=
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
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
- else
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
 
@@ -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
@@ -7,9 +7,9 @@ module ProjectGroup
7
7
  end
8
8
  def cmd(str)
9
9
  c = "cd #{path} && #{str}"
10
- #puts c
10
+ puts c
11
11
  res = ProjectGroup.ec(c)
12
- #puts res
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.sha.to_s
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
@@ -6,7 +6,7 @@ module ProjectGroup
6
6
  fattr(:name) do
7
7
  File.basename(path)
8
8
  end
9
- fattr(:repo) do
9
+ def repo
10
10
  Repo.new(:path => path)
11
11
  end
12
12
  def uncommitted_files
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "project_group"
8
- s.version = "0.1.0"
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-02"
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
@@ -14,6 +14,6 @@ describe 'Sublime Project' do
14
14
 
15
15
  it 'smoke' do
16
16
  str = sublime_project.to_json
17
- File.create "/code/orig/project_group/ezq.sublime-project",str
17
+ #File.create "/code/orig/project_group/ezq.sublime-project",str
18
18
  end
19
19
  end
@@ -17,9 +17,9 @@ class MakeInitial
17
17
  Dir.chdir(projects_dir,&b)
18
18
  end
19
19
  def ec(cmd)
20
- #puts cmd
20
+ puts cmd
21
21
  res = `#{cmd} 2>&1`
22
- #puts res
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.0
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-02 00:00:00.000000000 Z
11
+ date: 2013-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mharris_ext