time_tap 0.2.0 → 0.4.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/.gitignore +5 -37
  2. data/.rspec +1 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +3 -21
  5. data/README.md +104 -41
  6. data/Rakefile +1 -30
  7. data/bin/timetap +25 -26
  8. data/lib/time_tap.rb +126 -52
  9. data/lib/time_tap/backend.rb +9 -0
  10. data/lib/time_tap/backend/file_system.rb +36 -0
  11. data/lib/time_tap/config.yml.example +32 -0
  12. data/lib/time_tap/editor.rb +9 -0
  13. data/lib/time_tap/editor/sublime_text2.rb +15 -0
  14. data/lib/time_tap/editor/text_mate.rb +22 -0
  15. data/lib/time_tap/editor/text_mate2.rb +15 -0
  16. data/lib/time_tap/editor/xcode.rb +24 -0
  17. data/lib/time_tap/project.rb +136 -116
  18. data/lib/time_tap/server.rb +20 -20
  19. data/lib/time_tap/version.rb +3 -0
  20. data/lib/time_tap/views/project.haml +5 -3
  21. data/lib/time_tap/views/project_day.haml +1 -0
  22. data/lib/time_tap/watcher.rb +46 -43
  23. data/log/.git-keep +1 -0
  24. data/spec/lib/time_tap/project_spec.rb +12 -0
  25. data/spec/spec_helper.rb +3 -1
  26. data/spec/time_tap/backend_spec.rb +12 -0
  27. data/spec/time_tap/project_spec.rb +13 -0
  28. data/spec/time_tap/watcher_spec.rb +14 -0
  29. data/spec/time_tap_spec.rb +6 -4
  30. data/time_tap.gemspec +26 -108
  31. data/vendor/SublimeText2/.gitignore +1 -0
  32. data/vendor/SublimeText2/README.md +27 -0
  33. data/vendor/SublimeText2/TimeTap.py +10 -0
  34. data/vendor/TextMate2/TimeTap.tmbundle/Commands/Record current file.tmCommand +33 -0
  35. data/vendor/TextMate2/TimeTap.tmbundle/info.plist +16 -0
  36. data/vendor/TimeTap.tmbundle/Commands/Record current file.tmCommand +36 -0
  37. data/vendor/TimeTap.tmbundle/info.plist +18 -0
  38. metadata +161 -260
  39. data/Gemfile.lock +0 -48
  40. data/VERSION +0 -1
  41. data/config.yaml +0 -8
  42. data/lib/time_tap/editors.rb +0 -23
@@ -0,0 +1,27 @@
1
+ # TimeTap hook for sublime text 2
2
+
3
+ ## Copyright
4
+
5
+ Copyright © 2012 Elia Schito.
6
+
7
+ MIT License
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining
10
+ a copy of this software and associated documentation files (the
11
+ "Software"), to deal in the Software without restriction, including
12
+ without limitation the rights to use, copy, modify, merge, publish,
13
+ distribute, sublicense, and/or sell copies of the Software, and to
14
+ permit persons to whom the Software is furnished to do so, subject to
15
+ the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be
18
+ included in all copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
+
@@ -0,0 +1,10 @@
1
+ import sublime, sublime_plugin
2
+ import os.path
3
+
4
+ class TimeTapCommand(sublime_plugin.EventListener):
5
+ def on_post_save(self, view):
6
+ file_name = '~/.timetap.sbl2.current_file'
7
+ path = os.path.expanduser(file_name)
8
+ file = open(path, 'w')
9
+ file.write(view.file_name())
10
+ print '[TimeTap]', view.file_name(), 'just got saved in', file_name
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>beforeRunningCommand</key>
6
+ <string>nop</string>
7
+ <key>command</key>
8
+ <string>#!/usr/bin/env ruby -wKU
9
+ file = File.expand_path("~/.timetap.tm2.current_file")
10
+ File.open(file, 'w') do |f|
11
+ f &lt;&lt; ENV['TM_FILEPATH']
12
+ end
13
+ </string>
14
+ <key>input</key>
15
+ <string>none</string>
16
+ <key>inputFormat</key>
17
+ <string>text</string>
18
+ <key>name</key>
19
+ <string>Record current file</string>
20
+ <key>outputCaret</key>
21
+ <string>afterOutput</string>
22
+ <key>outputFormat</key>
23
+ <string>text</string>
24
+ <key>outputLocation</key>
25
+ <string>discard</string>
26
+ <key>semanticClass</key>
27
+ <string>callback.application.did-activate</string>
28
+ <key>uuid</key>
29
+ <string>1C8DC4BC-DF6C-4E8C-A65C-E6A7FAF6911E</string>
30
+ <key>version</key>
31
+ <integer>2</integer>
32
+ </dict>
33
+ </plist>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>contactEmailRot13</key>
6
+ <string>creyryvn@tznvy.pbz</string>
7
+ <key>contactName</key>
8
+ <string>Elia Schito</string>
9
+ <key>description</key>
10
+ <string>TimeTap hooks.</string>
11
+ <key>name</key>
12
+ <string>TimeTap</string>
13
+ <key>uuid</key>
14
+ <string>BD5A5988-9E98-48DC-BBB5-76D7D9CE3830</string>
15
+ </dict>
16
+ </plist>
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>beforeRunningCommand</key>
6
+ <string>nop</string>
7
+ <key>command</key>
8
+ <string>#!/usr/bin/env ruby -wKU
9
+ current_file = ENV['TM_FILEPATH'].to_s
10
+
11
+ if File.exist? current_file
12
+ system 'touch', current_file
13
+ file = File.expand_path("~/.timetap.tm2.current_file")
14
+ File.open(file, 'w') { |f| f &lt;&lt; current_file }
15
+ end
16
+ </string>
17
+ <key>input</key>
18
+ <string>none</string>
19
+ <key>inputFormat</key>
20
+ <string>text</string>
21
+ <key>name</key>
22
+ <string>Record current file</string>
23
+ <key>outputCaret</key>
24
+ <string>afterOutput</string>
25
+ <key>outputFormat</key>
26
+ <string>text</string>
27
+ <key>outputLocation</key>
28
+ <string>discard</string>
29
+ <key>semanticClass</key>
30
+ <string>callback.document.did-save</string>
31
+ <key>uuid</key>
32
+ <string>1C8DC4BC-DF6C-4E8C-A65C-E6A7FAF6911E</string>
33
+ <key>version</key>
34
+ <integer>2</integer>
35
+ </dict>
36
+ </plist>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>contactEmailRot13</key>
6
+ <string>creyryvn@tznvy.pbz</string>
7
+ <key>contactName</key>
8
+ <string>Elia Schito</string>
9
+ <key>description</key>
10
+ <string>TimeTap hooks.</string>
11
+ <key>isEnabled</key>
12
+ <true/>
13
+ <key>name</key>
14
+ <string>TimeTap</string>
15
+ <key>uuid</key>
16
+ <string>BD5A5988-9E98-48DC-BBB5-76D7D9CE3830</string>
17
+ </dict>
18
+ </plist>
metadata CHANGED
@@ -1,344 +1,245 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: time_tap
3
- version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 2
9
- - 0
10
- version: 0.2.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0.pre
5
+ prerelease: 6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Elia Schito
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2010-10-17 00:00:00 +02:00
19
- default_executable: timetap
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-11-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sinatra
16
+ requirement: !ruby/object:Gem::Requirement
23
17
  none: false
24
- requirements:
18
+ requirements:
25
19
  - - ~>
26
- - !ruby/object:Gem::Version
27
- hash: 19
28
- segments:
29
- - 2
30
- - 3
31
- - 8
32
- version: 2.3.8
20
+ - !ruby/object:Gem::Version
21
+ version: '1.0'
33
22
  type: :runtime
34
- name: activesupport
35
23
  prerelease: false
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
39
25
  none: false
40
- requirements:
26
+ requirements:
41
27
  - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 19
44
- segments:
45
- - 2
46
- - 3
47
- - 8
48
- version: 2.3.8
49
- type: :runtime
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - !ruby/object:Gem::Dependency
50
31
  name: actionpack
51
- prerelease: false
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- requirement: &id003 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
55
33
  none: false
56
- requirements:
34
+ requirements:
57
35
  - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 25
60
- segments:
61
- - 0
62
- - 3
63
- - 5
64
- version: 0.3.5
36
+ - !ruby/object:Gem::Version
37
+ version: 3.1.0
65
38
  type: :runtime
66
- name: i18n
67
39
  prerelease: false
68
- version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
70
- requirement: &id004 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
71
41
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 3
76
- segments:
77
- - 0
78
- version: "0"
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 3.1.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: activesupport
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 3.1.0
79
54
  type: :runtime
80
- name: haml
81
55
  prerelease: false
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
84
- requirement: &id005 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
85
57
  none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- hash: 3
90
- segments:
91
- - 0
92
- version: "0"
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 3.1.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: haml
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
93
70
  type: :runtime
94
- name: rb-appscript
95
71
  prerelease: false
96
- version_requirements: *id005
97
- - !ruby/object:Gem::Dependency
98
- requirement: &id006 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: sass
80
+ requirement: !ruby/object:Gem::Requirement
99
81
  none: false
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- hash: 3
104
- segments:
105
- - 0
106
- version: "0"
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
107
86
  type: :runtime
108
- name: sinatra
109
87
  prerelease: false
110
- version_requirements: *id006
111
- - !ruby/object:Gem::Dependency
112
- requirement: &id007 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
113
89
  none: false
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- hash: 62196421
118
- segments:
119
- - 2
120
- - 0
121
- - 0
122
- - beta
123
- - 19
124
- version: 2.0.0.beta.19
125
- type: :development
126
- name: rspec
127
- prerelease: false
128
- version_requirements: *id007
129
- - !ruby/object:Gem::Dependency
130
- requirement: &id008 !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rb-appscript
96
+ requirement: !ruby/object:Gem::Requirement
131
97
  none: false
132
- requirements:
133
- - - ~>
134
- - !ruby/object:Gem::Version
135
- hash: 7
136
- segments:
137
- - 0
138
- - 6
139
- - 0
140
- version: 0.6.0
141
- type: :development
142
- name: yard
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
143
103
  prerelease: false
144
- version_requirements: *id008
145
- - !ruby/object:Gem::Dependency
146
- requirement: &id009 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
147
105
  none: false
148
- requirements:
149
- - - ~>
150
- - !ruby/object:Gem::Version
151
- hash: 23
152
- segments:
153
- - 1
154
- - 0
155
- - 0
156
- version: 1.0.0
157
- type: :development
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
158
111
  name: bundler
159
- prerelease: false
160
- version_requirements: *id009
161
- - !ruby/object:Gem::Dependency
162
- requirement: &id010 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
163
113
  none: false
164
- requirements:
114
+ requirements:
165
115
  - - ~>
166
- - !ruby/object:Gem::Version
167
- hash: -1876988218
168
- segments:
169
- - 1
170
- - 5
171
- - 0
172
- - pre3
173
- version: 1.5.0.pre3
174
- type: :development
175
- name: jeweler
176
- prerelease: false
177
- version_requirements: *id010
178
- - !ruby/object:Gem::Dependency
179
- requirement: &id011 !ruby/object:Gem::Requirement
180
- none: false
181
- requirements:
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- hash: 3
185
- segments:
186
- - 0
187
- version: "0"
188
- type: :development
189
- name: rcov
116
+ - !ruby/object:Gem::Version
117
+ version: '1.0'
118
+ type: :runtime
190
119
  prerelease: false
191
- version_requirements: *id011
192
- - !ruby/object:Gem::Dependency
193
- requirement: &id012 !ruby/object:Gem::Requirement
120
+ version_requirements: !ruby/object:Gem::Requirement
194
121
  none: false
195
- requirements:
196
- - - ">="
197
- - !ruby/object:Gem::Version
198
- hash: 62196421
199
- segments:
200
- - 2
201
- - 0
202
- - 0
203
- - beta
204
- - 19
205
- version: 2.0.0.beta.19
206
- type: :development
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '1.0'
126
+ - !ruby/object:Gem::Dependency
207
127
  name: rspec
208
- prerelease: false
209
- version_requirements: *id012
210
- - !ruby/object:Gem::Dependency
211
- requirement: &id013 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
212
129
  none: false
213
- requirements:
130
+ requirements:
214
131
  - - ~>
215
- - !ruby/object:Gem::Version
216
- hash: 7
217
- segments:
218
- - 0
219
- - 6
220
- - 0
221
- version: 0.6.0
132
+ - !ruby/object:Gem::Version
133
+ version: '2.0'
222
134
  type: :development
223
- name: yard
224
135
  prerelease: false
225
- version_requirements: *id013
226
- - !ruby/object:Gem::Dependency
227
- requirement: &id014 !ruby/object:Gem::Requirement
136
+ version_requirements: !ruby/object:Gem::Requirement
228
137
  none: false
229
- requirements:
138
+ requirements:
230
139
  - - ~>
231
- - !ruby/object:Gem::Version
232
- hash: 23
233
- segments:
234
- - 1
235
- - 0
236
- - 0
237
- version: 1.0.0
238
- type: :development
239
- name: bundler
240
- prerelease: false
241
- version_requirements: *id014
242
- - !ruby/object:Gem::Dependency
243
- requirement: &id015 !ruby/object:Gem::Requirement
140
+ - !ruby/object:Gem::Version
141
+ version: '2.0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: spectator
144
+ requirement: !ruby/object:Gem::Requirement
244
145
  none: false
245
- requirements:
146
+ requirements:
246
147
  - - ~>
247
- - !ruby/object:Gem::Version
248
- hash: -1876988218
249
- segments:
250
- - 1
251
- - 5
252
- - 0
253
- - pre3
254
- version: 1.5.0.pre3
148
+ - !ruby/object:Gem::Version
149
+ version: '1.1'
255
150
  type: :development
256
- name: jeweler
257
151
  prerelease: false
258
- version_requirements: *id015
259
- - !ruby/object:Gem::Dependency
260
- requirement: &id016 !ruby/object:Gem::Requirement
152
+ version_requirements: !ruby/object:Gem::Requirement
261
153
  none: false
262
- requirements:
263
- - - ">="
264
- - !ruby/object:Gem::Version
265
- hash: 3
266
- segments:
267
- - 0
268
- version: "0"
269
- type: :development
270
- name: rcov
271
- prerelease: false
272
- version_requirements: *id016
273
- description: TimeTap helps you track the time you spend coding on each project while in TextMate.
274
- email: perlelia@gmail.com
275
- executables:
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: '1.1'
158
+ description: TimeTap helps you track the time you spend coding on each project while
159
+ in TextMate.
160
+ email:
161
+ - perlelia@gmail
162
+ executables:
276
163
  - timetap
277
164
  extensions: []
278
-
279
- extra_rdoc_files:
165
+ extra_rdoc_files:
280
166
  - LICENSE
281
167
  - README.md
282
- files:
168
+ files:
283
169
  - .gitignore
170
+ - .rspec
171
+ - .ruby-version
284
172
  - Gemfile
285
- - Gemfile.lock
286
173
  - LICENSE
287
174
  - README.md
288
175
  - Rakefile
289
- - VERSION
290
176
  - bin/timetap
291
- - config.yaml
292
177
  - lib/time_tap.rb
178
+ - lib/time_tap/backend.rb
179
+ - lib/time_tap/backend/file_system.rb
180
+ - lib/time_tap/config.yml.example
293
181
  - lib/time_tap/daemon.rb
294
- - lib/time_tap/editors.rb
182
+ - lib/time_tap/editor.rb
183
+ - lib/time_tap/editor/sublime_text2.rb
184
+ - lib/time_tap/editor/text_mate.rb
185
+ - lib/time_tap/editor/text_mate2.rb
186
+ - lib/time_tap/editor/xcode.rb
295
187
  - lib/time_tap/project.rb
296
188
  - lib/time_tap/server.rb
297
189
  - lib/time_tap/tasks.rb
190
+ - lib/time_tap/version.rb
298
191
  - lib/time_tap/views/index.haml
299
192
  - lib/time_tap/views/layout.haml
300
193
  - lib/time_tap/views/project.haml
301
194
  - lib/time_tap/views/project_day.haml
302
195
  - lib/time_tap/views/stylesheet.sass
303
196
  - lib/time_tap/watcher.rb
197
+ - log/.git-keep
304
198
  - spec/.rspec
199
+ - spec/lib/time_tap/project_spec.rb
305
200
  - spec/spec_helper.rb
201
+ - spec/time_tap/backend_spec.rb
202
+ - spec/time_tap/project_spec.rb
203
+ - spec/time_tap/watcher_spec.rb
306
204
  - spec/time_tap_spec.rb
307
205
  - time_tap.gemspec
308
- has_rdoc: true
206
+ - vendor/SublimeText2/.gitignore
207
+ - vendor/SublimeText2/README.md
208
+ - vendor/SublimeText2/TimeTap.py
209
+ - vendor/SublimeText2/TimeTap.pyc
210
+ - vendor/TextMate2/TimeTap.tmbundle/Commands/Record current file.tmCommand
211
+ - vendor/TextMate2/TimeTap.tmbundle/info.plist
212
+ - vendor/TimeTap.tmbundle/Commands/Record current file.tmCommand
213
+ - vendor/TimeTap.tmbundle/info.plist
309
214
  homepage: http://github.com/elia/timetap
310
215
  licenses: []
311
-
312
216
  post_install_message:
313
217
  rdoc_options: []
314
-
315
- require_paths:
218
+ require_paths:
316
219
  - lib
317
- required_ruby_version: !ruby/object:Gem::Requirement
220
+ required_ruby_version: !ruby/object:Gem::Requirement
318
221
  none: false
319
- requirements:
320
- - - ">="
321
- - !ruby/object:Gem::Version
322
- hash: 3
323
- segments:
324
- - 0
325
- version: "0"
326
- required_rubygems_version: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ! '>='
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ required_rubygems_version: !ruby/object:Gem::Requirement
327
227
  none: false
328
- requirements:
329
- - - ">="
330
- - !ruby/object:Gem::Version
331
- hash: 3
332
- segments:
333
- - 0
334
- version: "0"
228
+ requirements:
229
+ - - ! '>'
230
+ - !ruby/object:Gem::Version
231
+ version: 1.3.1
335
232
  requirements: []
336
-
337
- rubyforge_project:
338
- rubygems_version: 1.3.7
233
+ rubyforge_project: time_tap
234
+ rubygems_version: 1.8.24
339
235
  signing_key:
340
236
  specification_version: 3
341
- summary: Unobtrusive time tracking for TextMate
342
- test_files:
237
+ summary: Unobtrusive time-tracking for TextMate.
238
+ test_files:
239
+ - spec/lib/time_tap/project_spec.rb
343
240
  - spec/spec_helper.rb
241
+ - spec/time_tap/backend_spec.rb
242
+ - spec/time_tap/project_spec.rb
243
+ - spec/time_tap/watcher_spec.rb
344
244
  - spec/time_tap_spec.rb
245
+ has_rdoc: