watch_tower 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -7,24 +7,25 @@ the project, directory, and file level.
7
7
 
8
8
  # Introduction
9
9
 
10
- Did you ever want to keep track of how much time you _really_ spend on all of
11
- your projects? Sure, you can try to remember to keep running estimates of your
12
- time in the hope that you can aggregate those estimates later into some
13
- meaningful data. But sometimes you forget, or an error creeps into your
14
- estimate. And those errors add up. Quickly.
10
+ Did you ever want to keep track of how much time you _really_ spend on
11
+ all of your projects? Sure, you can try to remember to keep running
12
+ estimates of your time in the hope that you can aggregate those
13
+ estimates later into some meaningful data. But sometimes you forget, or
14
+ an error creeps into your estimate. And those errors add up. Quickly.
15
15
 
16
16
  You can try some tracking software that depends on you to start and stop
17
- timers. But what happens if you forget to start or stop one of those timers?
17
+ timers. But what happens if you forget to start or stop one of those
18
+ timers?
18
19
 
19
- What you need is a passive system that will take care of all of this for you,
20
- so you can focus on the actual work, which is where WatchTower comes into
21
- play.
20
+ What you need is a passive system that will take care of all of this
21
+ for you, so you can focus on the actual work, which is where WatchTower
22
+ comes into play.
22
23
 
23
- WatchTower runs in the background and keeps track of the time spent editing
24
- each file with one of the supported editors (listed below). Since WatchTower
25
- keeps track of the time spent on each file, and it knows which project each
26
- file belongs to, you can view details and statistics on each project, right
27
- down to the file level.
24
+ WatchTower runs in the background and keeps track of the time spent
25
+ editing each file with one of the supported editors (listed below).
26
+ Since WatchTower keeps track of the time spent on each file, and it
27
+ knows which project each file belongs to, you can view details and
28
+ statistics on each project, right down to the file level.
28
29
 
29
30
  # Features
30
31
 
@@ -100,11 +101,12 @@ $ watchtower open
100
101
 
101
102
  ## Rehash
102
103
 
103
- If for some reason, you think that the elapsed time of any of your
104
- projects is wrong ( c.f [#9](https://github.com/TechnoGate/watch_tower/issues/9) ) then you can recalculate the elapsed time of
105
- all projects and all their files by visiting
106
- [http://localhost:9282/rehash](http://localhost:9282/rehash), but please
107
- keep in mind that this can take a long time to process.
104
+ If for some reason, you think that the elapsed
105
+ time of any of your projects is wrong ( c.f
106
+ [#9](https://github.com/TechnoGate/watch_tower/issues/9) ) then you can
107
+ recalculate the elapsed time of all projects and all their files by
108
+ visiting [http://localhost:9282/rehash](http://localhost:9282/rehash),
109
+ but please keep in mind that this can take a long time to process.
108
110
 
109
111
  # Commands
110
112
 
@@ -144,7 +146,6 @@ Don't forget to follow me on [Github](https://github.com/eMxyzptlk) and
144
146
  Please see the
145
147
  [CREDITS.md](https://github.com/TechnoGate/watch_tower/blob/master/CREDITS.md) file.
146
148
 
147
-
148
149
  # License
149
150
 
150
151
  ## This code is free to use under the terms of the MIT license.
@@ -159,13 +160,13 @@ distribute, sublicense, and/or sell copies of the Software, and to
159
160
  permit persons to whom the Software is furnished to do so, subject to
160
161
  the following conditions:
161
162
 
162
- The above copyright notice and this permission notice shall be
163
- included in all copies or substantial portions of the Software.
163
+ The above copyright notice and this permission notice shall be included
164
+ in all copies or substantial portions of the Software.
164
165
 
165
166
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
166
167
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
167
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
168
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
169
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
170
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
171
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
168
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
169
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
170
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
171
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
172
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -27,6 +27,8 @@ module WatchTower
27
27
  LOG.debug("#{__FILE__}:#{__LINE__}: #{editor.to_s} is running")
28
28
  # Get the currently being edited file from the editor
29
29
  files_paths = editor.current_paths
30
+ # Do not continue if no files were returned
31
+ next unless files_paths && files_paths.respond_to?(:each)
30
32
  # Iterate over the files to fill the database
31
33
  files_paths.each do |file_path|
32
34
  begin
@@ -30,6 +30,12 @@
30
30
  .page= yield
31
31
 
32
32
  %section#footer
33
+ %a{href: 'https://github.com/TechnoGate/watch_tower', target: '_blank'}
34
+ WatchTower
35
+ Version
36
+ %a{href: "https://github.com/TechnoGate/watch_tower/tree/v#{WatchTower.version}", target: '_blank'}
37
+ = WatchTower.version
38
+ %br/
33
39
  © Copyright 2011
34
40
  %a{href: 'https://github.com/TechnoGate', target: '_blank'}
35
41
  TechnoGate
@@ -3,7 +3,7 @@
3
3
  module WatchTower
4
4
  MAJOR = 0
5
5
  MINOR = 0
6
- TINY = 2
6
+ TINY = 3
7
7
  PRE = ''
8
8
 
9
9
  def self.version
@@ -69,6 +69,12 @@ describe Eye do
69
69
  subject.start
70
70
  end
71
71
 
72
+ it "should not explode if file_paths is nil" do
73
+ @editor.expects(:current_paths).returns(nil).once
74
+
75
+ -> { subject.start }.should_not raise_error
76
+ end
77
+
72
78
  it "should call File.exists?" do
73
79
  ::File.expects(:exists?).with(@file_path).returns(true).once
74
80
 
@@ -25,6 +25,9 @@ MSG
25
25
  # Run-time dependencies
26
26
  ####
27
27
 
28
+ # Thor
29
+ s.add_dependency 'thor', '~>0.14.6'
30
+
28
31
  # Active Support
29
32
  s.add_dependency 'activesupport', '~>3.1.1'
30
33
  s.add_dependency 'i18n', '~>0.6.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watch_tower
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-30 00:00:00.000000000 Z
12
+ date: 2011-11-16 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: thor
16
+ requirement: &9850320 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.14.6
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *9850320
14
25
  - !ruby/object:Gem::Dependency
15
26
  name: activesupport
16
- requirement: &5366460 !ruby/object:Gem::Requirement
27
+ requirement: &9903160 !ruby/object:Gem::Requirement
17
28
  none: false
18
29
  requirements:
19
30
  - - ~>
@@ -21,10 +32,10 @@ dependencies:
21
32
  version: 3.1.1
22
33
  type: :runtime
23
34
  prerelease: false
24
- version_requirements: *5366460
35
+ version_requirements: *9903160
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: i18n
27
- requirement: &5391400 !ruby/object:Gem::Requirement
38
+ requirement: &9900800 !ruby/object:Gem::Requirement
28
39
  none: false
29
40
  requirements:
30
41
  - - ~>
@@ -32,10 +43,10 @@ dependencies:
32
43
  version: 0.6.0
33
44
  type: :runtime
34
45
  prerelease: false
35
- version_requirements: *5391400
46
+ version_requirements: *9900800
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: activerecord
38
- requirement: &5094080 !ruby/object:Gem::Requirement
49
+ requirement: &9899200 !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
52
  - - ~>
@@ -43,10 +54,10 @@ dependencies:
43
54
  version: 3.1.1
44
55
  type: :runtime
45
56
  prerelease: false
46
- version_requirements: *5094080
57
+ version_requirements: *9899200
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: sinatra
49
- requirement: &5044900 !ruby/object:Gem::Requirement
60
+ requirement: &9896640 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ~>
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: 1.3.0
55
66
  type: :runtime
56
67
  prerelease: false
57
- version_requirements: *5044900
68
+ version_requirements: *9896640
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: sinatra-snap
60
- requirement: &5438880 !ruby/object:Gem::Requirement
71
+ requirement: &9895500 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ~>
@@ -65,10 +76,10 @@ dependencies:
65
76
  version: 0.3.2
66
77
  type: :runtime
67
78
  prerelease: false
68
- version_requirements: *5438880
79
+ version_requirements: *9895500
69
80
  - !ruby/object:Gem::Dependency
70
81
  name: haml
71
- requirement: &5433940 !ruby/object:Gem::Requirement
82
+ requirement: &9909960 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
85
  - - ~>
@@ -76,10 +87,10 @@ dependencies:
76
87
  version: 3.1.3
77
88
  type: :runtime
78
89
  prerelease: false
79
- version_requirements: *5433940
90
+ version_requirements: *9909960
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: grit
82
- requirement: &5520300 !ruby/object:Gem::Requirement
93
+ requirement: &9908980 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
96
  - - ~>
@@ -87,10 +98,10 @@ dependencies:
87
98
  version: 2.4.1
88
99
  type: :runtime
89
100
  prerelease: false
90
- version_requirements: *5520300
101
+ version_requirements: *9908980
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: coffee-script
93
- requirement: &5608600 !ruby/object:Gem::Requirement
104
+ requirement: &9907960 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ~>
@@ -98,10 +109,10 @@ dependencies:
98
109
  version: 2.2.0
99
110
  type: :runtime
100
111
  prerelease: false
101
- version_requirements: *5608600
112
+ version_requirements: *9907960
102
113
  - !ruby/object:Gem::Dependency
103
114
  name: uglifier
104
- requirement: &5608120 !ruby/object:Gem::Requirement
115
+ requirement: &9903820 !ruby/object:Gem::Requirement
105
116
  none: false
106
117
  requirements:
107
118
  - - ~>
@@ -109,10 +120,10 @@ dependencies:
109
120
  version: 1.0.3
110
121
  type: :runtime
111
122
  prerelease: false
112
- version_requirements: *5608120
123
+ version_requirements: *9903820
113
124
  - !ruby/object:Gem::Dependency
114
125
  name: sass
115
- requirement: &5607560 !ruby/object:Gem::Requirement
126
+ requirement: &9919660 !ruby/object:Gem::Requirement
116
127
  none: false
117
128
  requirements:
118
129
  - - ~>
@@ -120,10 +131,10 @@ dependencies:
120
131
  version: 3.1.10
121
132
  type: :runtime
122
133
  prerelease: false
123
- version_requirements: *5607560
134
+ version_requirements: *9919660
124
135
  - !ruby/object:Gem::Dependency
125
136
  name: sprockets
126
- requirement: &5606940 !ruby/object:Gem::Requirement
137
+ requirement: &9918360 !ruby/object:Gem::Requirement
127
138
  none: false
128
139
  requirements:
129
140
  - - ~>
@@ -131,10 +142,10 @@ dependencies:
131
142
  version: 2.0.2
132
143
  type: :runtime
133
144
  prerelease: false
134
- version_requirements: *5606940
145
+ version_requirements: *9918360
135
146
  - !ruby/object:Gem::Dependency
136
147
  name: cronedit
137
- requirement: &5606000 !ruby/object:Gem::Requirement
148
+ requirement: &9917000 !ruby/object:Gem::Requirement
138
149
  none: false
139
150
  requirements:
140
151
  - - ~>
@@ -142,10 +153,10 @@ dependencies:
142
153
  version: 0.3.0
143
154
  type: :runtime
144
155
  prerelease: false
145
- version_requirements: *5606000
156
+ version_requirements: *9917000
146
157
  - !ruby/object:Gem::Dependency
147
158
  name: guard
148
- requirement: &5604920 !ruby/object:Gem::Requirement
159
+ requirement: &9915800 !ruby/object:Gem::Requirement
149
160
  none: false
150
161
  requirements:
151
162
  - - ~>
@@ -153,10 +164,10 @@ dependencies:
153
164
  version: 0.8.4
154
165
  type: :development
155
166
  prerelease: false
156
- version_requirements: *5604920
167
+ version_requirements: *9915800
157
168
  - !ruby/object:Gem::Dependency
158
169
  name: guard-bundler
159
- requirement: &5603760 !ruby/object:Gem::Requirement
170
+ requirement: &9913580 !ruby/object:Gem::Requirement
160
171
  none: false
161
172
  requirements:
162
173
  - - ~>
@@ -164,10 +175,10 @@ dependencies:
164
175
  version: 0.1.3
165
176
  type: :development
166
177
  prerelease: false
167
- version_requirements: *5603760
178
+ version_requirements: *9913580
168
179
  - !ruby/object:Gem::Dependency
169
180
  name: guard-rspec
170
- requirement: &5602460 !ruby/object:Gem::Requirement
181
+ requirement: &9929120 !ruby/object:Gem::Requirement
171
182
  none: false
172
183
  requirements:
173
184
  - - ~>
@@ -175,10 +186,10 @@ dependencies:
175
186
  version: 0.4.5
176
187
  type: :development
177
188
  prerelease: false
178
- version_requirements: *5602460
189
+ version_requirements: *9929120
179
190
  - !ruby/object:Gem::Dependency
180
191
  name: guard-sprockets2
181
- requirement: &5601680 !ruby/object:Gem::Requirement
192
+ requirement: &9927100 !ruby/object:Gem::Requirement
182
193
  none: false
183
194
  requirements:
184
195
  - - ~>
@@ -186,10 +197,10 @@ dependencies:
186
197
  version: 0.0.5
187
198
  type: :development
188
199
  prerelease: false
189
- version_requirements: *5601680
200
+ version_requirements: *9927100
190
201
  - !ruby/object:Gem::Dependency
191
202
  name: yard
192
- requirement: &5600840 !ruby/object:Gem::Requirement
203
+ requirement: &9924640 !ruby/object:Gem::Requirement
193
204
  none: false
194
205
  requirements:
195
206
  - - ~>
@@ -197,10 +208,10 @@ dependencies:
197
208
  version: 0.7.2
198
209
  type: :development
199
210
  prerelease: false
200
- version_requirements: *5600840
211
+ version_requirements: *9924640
201
212
  - !ruby/object:Gem::Dependency
202
213
  name: rspec
203
- requirement: &5677600 !ruby/object:Gem::Requirement
214
+ requirement: &9979640 !ruby/object:Gem::Requirement
204
215
  none: false
205
216
  requirements:
206
217
  - - ~>
@@ -208,10 +219,10 @@ dependencies:
208
219
  version: 2.6.0
209
220
  type: :development
210
221
  prerelease: false
211
- version_requirements: *5677600
222
+ version_requirements: *9979640
212
223
  - !ruby/object:Gem::Dependency
213
224
  name: rspec-rails
214
- requirement: &5676400 !ruby/object:Gem::Requirement
225
+ requirement: &9978640 !ruby/object:Gem::Requirement
215
226
  none: false
216
227
  requirements:
217
228
  - - ~>
@@ -219,10 +230,10 @@ dependencies:
219
230
  version: 2.6.1
220
231
  type: :development
221
232
  prerelease: false
222
- version_requirements: *5676400
233
+ version_requirements: *9978640
223
234
  - !ruby/object:Gem::Dependency
224
235
  name: capybara
225
- requirement: &5671860 !ruby/object:Gem::Requirement
236
+ requirement: &9977220 !ruby/object:Gem::Requirement
226
237
  none: false
227
238
  requirements:
228
239
  - - ~>
@@ -230,10 +241,10 @@ dependencies:
230
241
  version: 1.1.1
231
242
  type: :development
232
243
  prerelease: false
233
- version_requirements: *5671860
244
+ version_requirements: *9977220
234
245
  - !ruby/object:Gem::Dependency
235
246
  name: launchy
236
- requirement: &5723580 !ruby/object:Gem::Requirement
247
+ requirement: &9975780 !ruby/object:Gem::Requirement
237
248
  none: false
238
249
  requirements:
239
250
  - - ~>
@@ -241,10 +252,10 @@ dependencies:
241
252
  version: 2.0.5
242
253
  type: :development
243
254
  prerelease: false
244
- version_requirements: *5723580
255
+ version_requirements: *9975780
245
256
  - !ruby/object:Gem::Dependency
246
257
  name: mocha
247
- requirement: &5720340 !ruby/object:Gem::Requirement
258
+ requirement: &10074480 !ruby/object:Gem::Requirement
248
259
  none: false
249
260
  requirements:
250
261
  - - ~>
@@ -252,10 +263,10 @@ dependencies:
252
263
  version: 0.10.0
253
264
  type: :development
254
265
  prerelease: false
255
- version_requirements: *5720340
266
+ version_requirements: *10074480
256
267
  - !ruby/object:Gem::Dependency
257
268
  name: factory_girl
258
- requirement: &5718160 !ruby/object:Gem::Requirement
269
+ requirement: &9287280 !ruby/object:Gem::Requirement
259
270
  none: false
260
271
  requirements:
261
272
  - - ~>
@@ -263,10 +274,10 @@ dependencies:
263
274
  version: 2.1.2
264
275
  type: :development
265
276
  prerelease: false
266
- version_requirements: *5718160
277
+ version_requirements: *9287280
267
278
  - !ruby/object:Gem::Dependency
268
279
  name: timecop
269
- requirement: &5732880 !ruby/object:Gem::Requirement
280
+ requirement: &9284180 !ruby/object:Gem::Requirement
270
281
  none: false
271
282
  requirements:
272
283
  - - ~>
@@ -274,10 +285,10 @@ dependencies:
274
285
  version: 0.3.5
275
286
  type: :development
276
287
  prerelease: false
277
- version_requirements: *5732880
288
+ version_requirements: *9284180
278
289
  - !ruby/object:Gem::Dependency
279
290
  name: pry
280
- requirement: &5730080 !ruby/object:Gem::Requirement
291
+ requirement: &9281720 !ruby/object:Gem::Requirement
281
292
  none: false
282
293
  requirements:
283
294
  - - ~>
@@ -285,7 +296,7 @@ dependencies:
285
296
  version: 0.9.6.2
286
297
  type: :development
287
298
  prerelease: false
288
- version_requirements: *5730080
299
+ version_requirements: *9281720
289
300
  description: WatchTower helps you track how much time you spend on all of your projects.
290
301
  email:
291
302
  - wael.nasreddine@gmail.com
@@ -458,10 +469,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
458
469
  version: '0'
459
470
  segments:
460
471
  - 0
461
- hash: 3976442825179979308
472
+ hash: 1419198013088261126
462
473
  requirements: []
463
474
  rubyforge_project:
464
- rubygems_version: 1.8.10
475
+ rubygems_version: 1.8.11
465
476
  signing_key:
466
477
  specification_version: 3
467
478
  summary: WatchTower helps you track how much time you spend on all of your projects.