project_group 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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