work-on 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.
data/Gemfile CHANGED
@@ -15,4 +15,5 @@ group :development do
15
15
  gem "rcov"
16
16
  gem "rdoc"
17
17
  gem "rr"
18
+ gem "fakefs"
18
19
  end
data/Gemfile.lock CHANGED
@@ -2,6 +2,7 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  abstract (1.0.0)
5
+ fakefs (0.4.0)
5
6
  git (1.2.5)
6
7
  jeweler (1.6.4)
7
8
  bundler (~> 1.0)
@@ -21,6 +22,7 @@ PLATFORMS
21
22
  DEPENDENCIES
22
23
  abstract
23
24
  bundler (~> 1.0.0)
25
+ fakefs
24
26
  jeweler (~> 1.6.4)
25
27
  rb-appscript
26
28
  rcov
@@ -1,14 +1,18 @@
1
- = work-on
1
+ work-on
2
+ =======
2
3
 
3
4
  A utility to manage your projects and make working on them as seemless as possible.
4
5
  Basically you edit a small yaml file where you specify your project directory and the terminal windows and tabs
5
6
  you want to open.
6
7
 
7
- = Example
8
+ Example
9
+ -------
10
+
11
+ Config files should be placed inside ~/.config/work-on/.
12
+ Yaml files should end in .yaml or .yml
8
13
 
9
14
  this is the actual config file i use for work-on:
10
15
 
11
- work-on:
12
16
  project-dir: ~/Projects/work-on
13
17
  tab1:
14
18
  - git status
@@ -18,7 +22,6 @@ this is the actual config file i use for work-on:
18
22
  this opens 2 new tabs and executes above commands
19
23
  you can also open new windows
20
24
 
21
- work-on:
22
25
  project-dir: ~/Projects/work-on
23
26
  window1:
24
27
  tab1:
@@ -33,7 +36,9 @@ You can guess what the above would do.
33
36
 
34
37
  NOTE: At the moment only Mac OS X is supported, but support for linux is coming real soon.
35
38
 
36
- = Copyright
39
+ Copyright
40
+ =========
41
+
37
42
 
38
43
  Copyright (c) 2011 Toon Willems. See LICENSE.txt for
39
44
  further details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -1,50 +1,19 @@
1
1
  require 'teststrap'
2
- require 'yaml' # otherwise mock fails
2
+ FakeFS do
3
+ context "Config" do
3
4
 
4
- context "YAMLConfig" do
5
- helper(:basic_config) do
6
- {"project-dir"=>"~/Projects/work-on", "window1"=>{"tab1"=>["rails server"], "tab2"=>["rails console"], "tab3"=>["git status", "mvim"]}}
7
- end
8
- setup do
9
- mock(YAML).load_file("test_name.yml") { basic_config }
10
- WorkOn::YAMLConfig.new("test_name.yml")
11
- end
5
+ asserts "initialize with invalid project" do
6
+ WorkOn::Config.new Random.srand.to_s
7
+ end.raises(RuntimeError)
12
8
 
13
- asserts(:project_dir).equals(Dir.home + "/Projects/work-on")
14
-
15
- context "windows hash" do
16
- setup { topic.windows[:windows] }
17
- asserts(:first).equals({:tabs => [['rails server'], ['rails console'], ['git status', 'mvim']]})
18
- end
19
-
20
- context 'with multiple windows' do
21
- helper(:complex_config) do
22
- {"project-dir"=>"~/Projects/work-on",
23
- "window1"=>{"tab1"=>["rails server"], "tab2"=>["rails console"], "tab3"=>["git status", "mvim"]},
24
- "window2"=>{"tab1"=>["rails server"], "tab2"=>["rails console"], "tab3"=>["git status", "mvim"]},
25
- "tab1"=>["rails server"], "tab2"=>["rails console"], "tab3"=>["git status", "mvim"]
26
- }
27
- end
28
9
  setup do
29
- mock(YAML).load_file("test_name.yml") { complex_config }
30
- WorkOn::YAMLConfig.new("test_name.yml")
10
+ File.open(File.join(WorkOn::Config.default_dir,"test.yml"), "w") do |f|
11
+ f.write "project-dir: ~/test"
12
+ end
13
+ WorkOn::Config.new 'test'
31
14
  end
32
15
 
33
- asserts(:project_dir).equals(Dir.home + "/Projects/work-on")
34
-
35
- context "window hash" do
36
- setup { topic.windows[:windows] }
37
-
38
- asserts(:first).equals({:tabs => [['rails server'], ['rails console'], ['git status', 'mvim']]})
39
- asserts("both windows have the same config") { topic.first == topic.last }
40
-
41
- end
42
-
43
- context "tab hash" do
44
- setup { topic.windows[:tabs] }
45
-
46
- asserts_topic.equals([['rails server'], ['rails console'], ['git status', 'mvim']])
47
- end
16
+ asserts(:project_dir).equals(File.join(Dir.home, 'test'))
48
17
 
49
18
  end
50
19
  end
@@ -0,0 +1,50 @@
1
+ require 'teststrap'
2
+ require 'yaml' # otherwise mock fails
3
+
4
+ context "YAMLConfig" do
5
+ helper(:basic_config) do
6
+ {"project-dir"=>"~/Projects/work-on", "window1"=>{"tab1"=>["rails server"], "tab2"=>["rails console"], "tab3"=>["git status", "mvim"]}}
7
+ end
8
+ setup do
9
+ mock(YAML).load_file("test_name.yml") { basic_config }
10
+ WorkOn::YAMLConfig.new("test_name.yml")
11
+ end
12
+
13
+ asserts(:project_dir).equals(Dir.home + "/Projects/work-on")
14
+
15
+ context "windows hash" do
16
+ setup { topic.windows[:windows] }
17
+ asserts(:first).equals({:tabs => [['rails server'], ['rails console'], ['git status', 'mvim']]})
18
+ end
19
+
20
+ context 'with multiple windows' do
21
+ helper(:complex_config) do
22
+ {"project-dir"=>"~/Projects/work-on",
23
+ "window1"=>{"tab1"=>["rails server"], "tab2"=>["rails console"], "tab3"=>["git status", "mvim"]},
24
+ "window2"=>{"tab1"=>["rails server"], "tab2"=>["rails console"], "tab3"=>["git status", "mvim"]},
25
+ "tab1"=>["rails server"], "tab2"=>["rails console"], "tab3"=>["git status", "mvim"]
26
+ }
27
+ end
28
+ setup do
29
+ mock(YAML).load_file("test_name.yml") { complex_config }
30
+ WorkOn::YAMLConfig.new("test_name.yml")
31
+ end
32
+
33
+ asserts(:project_dir).equals(Dir.home + "/Projects/work-on")
34
+
35
+ context "window hash" do
36
+ setup { topic.windows[:windows] }
37
+
38
+ asserts(:first).equals({:tabs => [['rails server'], ['rails console'], ['git status', 'mvim']]})
39
+ asserts("both windows have the same config") { topic.first == topic.last }
40
+
41
+ end
42
+
43
+ context "tab hash" do
44
+ setup { topic.windows[:tabs] }
45
+
46
+ asserts_topic.equals([['rails server'], ['rails console'], ['git status', 'mvim']])
47
+ end
48
+
49
+ end
50
+ end
data/test/teststrap.rb CHANGED
@@ -1,4 +1,16 @@
1
1
  require 'riot'
2
2
  require 'riot/rr'
3
+ require 'fakefs/safe'
3
4
  require 'work-on'
5
+
6
+ FakeFS do
7
+ # small fakefs hack so Dir.home works
8
+ class Dir
9
+ def self.home
10
+ File.expand_path "~"
11
+ end
12
+ end
13
+ FileUtils.mkdir_p(File.join(Dir.home, ".config", "work-on"))
14
+ end
15
+
4
16
  Riot.verbose
data/work-on.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{work-on}
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 = [%q{Toon Willems}]
@@ -15,14 +15,14 @@ Gem::Specification.new do |s|
15
15
  s.executables = [%q{work-on}]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE.txt",
18
- "README.rdoc"
18
+ "README.md"
19
19
  ]
20
20
  s.files = [
21
21
  ".document",
22
22
  "Gemfile",
23
23
  "Gemfile.lock",
24
24
  "LICENSE.txt",
25
- "README.rdoc",
25
+ "README.md",
26
26
  "Rakefile",
27
27
  "VERSION",
28
28
  "bin/work-on",
@@ -35,6 +35,7 @@ Gem::Specification.new do |s|
35
35
  "test/core/config_test.rb",
36
36
  "test/core/project_test.rb",
37
37
  "test/core/terminal_test.rb",
38
+ "test/core/yaml_config_test.rb",
38
39
  "test/teststrap.rb",
39
40
  "work-on.gemspec"
40
41
  ]
@@ -56,6 +57,7 @@ Gem::Specification.new do |s|
56
57
  s.add_development_dependency(%q<rcov>, [">= 0"])
57
58
  s.add_development_dependency(%q<rdoc>, [">= 0"])
58
59
  s.add_development_dependency(%q<rr>, [">= 0"])
60
+ s.add_development_dependency(%q<fakefs>, [">= 0"])
59
61
  else
60
62
  s.add_dependency(%q<abstract>, [">= 0"])
61
63
  s.add_dependency(%q<rb-appscript>, [">= 0"])
@@ -65,6 +67,7 @@ Gem::Specification.new do |s|
65
67
  s.add_dependency(%q<rcov>, [">= 0"])
66
68
  s.add_dependency(%q<rdoc>, [">= 0"])
67
69
  s.add_dependency(%q<rr>, [">= 0"])
70
+ s.add_dependency(%q<fakefs>, [">= 0"])
68
71
  end
69
72
  else
70
73
  s.add_dependency(%q<abstract>, [">= 0"])
@@ -75,6 +78,7 @@ Gem::Specification.new do |s|
75
78
  s.add_dependency(%q<rcov>, [">= 0"])
76
79
  s.add_dependency(%q<rdoc>, [">= 0"])
77
80
  s.add_dependency(%q<rr>, [">= 0"])
81
+ s.add_dependency(%q<fakefs>, [">= 0"])
78
82
  end
79
83
  end
80
84
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: work-on
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-09-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: abstract
16
- requirement: &70198776254500 !ruby/object:Gem::Requirement
16
+ requirement: &70321593826160 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70198776254500
24
+ version_requirements: *70321593826160
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rb-appscript
27
- requirement: &70198776252800 !ruby/object:Gem::Requirement
27
+ requirement: &70321593825420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70198776252800
35
+ version_requirements: *70321593825420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: riot
38
- requirement: &70198776251720 !ruby/object:Gem::Requirement
38
+ requirement: &70321593824480 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70198776251720
46
+ version_requirements: *70321593824480
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &70198776234500 !ruby/object:Gem::Requirement
49
+ requirement: &70321593823500 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70198776234500
57
+ version_requirements: *70321593823500
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &70198776233260 !ruby/object:Gem::Requirement
60
+ requirement: &70321593822340 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.6.4
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70198776233260
68
+ version_requirements: *70321593822340
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rcov
71
- requirement: &70198776231900 !ruby/object:Gem::Requirement
71
+ requirement: &70321593820960 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70198776231900
79
+ version_requirements: *70321593820960
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rdoc
82
- requirement: &70198776230820 !ruby/object:Gem::Requirement
82
+ requirement: &70321593819860 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70198776230820
90
+ version_requirements: *70321593819860
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rr
93
- requirement: &70198776229620 !ruby/object:Gem::Requirement
93
+ requirement: &70321593818700 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,18 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70198776229620
101
+ version_requirements: *70321593818700
102
+ - !ruby/object:Gem::Dependency
103
+ name: fakefs
104
+ requirement: &70321593816840 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *70321593816840
102
113
  description: utility to manage projects and the terminal windows you open when you
103
114
  work on them.
104
115
  email: willemstoon@gmail.com
@@ -107,13 +118,13 @@ executables:
107
118
  extensions: []
108
119
  extra_rdoc_files:
109
120
  - LICENSE.txt
110
- - README.rdoc
121
+ - README.md
111
122
  files:
112
123
  - .document
113
124
  - Gemfile
114
125
  - Gemfile.lock
115
126
  - LICENSE.txt
116
- - README.rdoc
127
+ - README.md
117
128
  - Rakefile
118
129
  - VERSION
119
130
  - bin/work-on
@@ -126,6 +137,7 @@ files:
126
137
  - test/core/config_test.rb
127
138
  - test/core/project_test.rb
128
139
  - test/core/terminal_test.rb
140
+ - test/core/yaml_config_test.rb
129
141
  - test/teststrap.rb
130
142
  - work-on.gemspec
131
143
  homepage: http://github.com/nudded/work-on
@@ -143,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
143
155
  version: '0'
144
156
  segments:
145
157
  - 0
146
- hash: -4148861926533244809
158
+ hash: 1231414708332650322
147
159
  required_rubygems_version: !ruby/object:Gem::Requirement
148
160
  none: false
149
161
  requirements: