watch_tower 0.0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. data/.gitignore +10 -0
  2. data/.todo +33 -0
  3. data/.travis.yml +14 -0
  4. data/Gemfile +43 -0
  5. data/Guardfile +25 -0
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +38 -0
  8. data/Rakefile +8 -0
  9. data/TODO +17 -0
  10. data/bin/watchtower +10 -0
  11. data/ci/adapters/jruby-mysql.yml +8 -0
  12. data/ci/adapters/jruby-postgresql.yml +6 -0
  13. data/ci/adapters/jruby-sqlite.yml +6 -0
  14. data/ci/adapters/ruby-mysql.yml +8 -0
  15. data/ci/adapters/ruby-postgresql.yml +6 -0
  16. data/ci/adapters/ruby-sqlite.yml +6 -0
  17. data/ci/travis.rb +102 -0
  18. data/lib/watch_tower.rb +60 -0
  19. data/lib/watch_tower/appscript.rb +22 -0
  20. data/lib/watch_tower/cli.rb +15 -0
  21. data/lib/watch_tower/cli/.gitkeep +0 -0
  22. data/lib/watch_tower/cli/install.rb +63 -0
  23. data/lib/watch_tower/cli/open.rb +24 -0
  24. data/lib/watch_tower/cli/start.rb +140 -0
  25. data/lib/watch_tower/config.rb +38 -0
  26. data/lib/watch_tower/core_ext.rb +4 -0
  27. data/lib/watch_tower/core_ext/.gitkeep +0 -0
  28. data/lib/watch_tower/editor.rb +17 -0
  29. data/lib/watch_tower/editor/.gitkeep +0 -0
  30. data/lib/watch_tower/editor/base_appscript.rb +34 -0
  31. data/lib/watch_tower/editor/base_ps.rb +6 -0
  32. data/lib/watch_tower/editor/textmate.rb +17 -0
  33. data/lib/watch_tower/editor/xcode.rb +22 -0
  34. data/lib/watch_tower/errors.rb +25 -0
  35. data/lib/watch_tower/eye.rb +79 -0
  36. data/lib/watch_tower/project.rb +14 -0
  37. data/lib/watch_tower/project/.gitkeep +0 -0
  38. data/lib/watch_tower/project/any_based.rb +22 -0
  39. data/lib/watch_tower/project/git_based.rb +86 -0
  40. data/lib/watch_tower/project/init.rb +38 -0
  41. data/lib/watch_tower/project/path_based.rb +144 -0
  42. data/lib/watch_tower/server.rb +62 -0
  43. data/lib/watch_tower/server/.gitkeep +0 -0
  44. data/lib/watch_tower/server/app.rb +37 -0
  45. data/lib/watch_tower/server/assets/images/WatchTower.jpg +0 -0
  46. data/lib/watch_tower/server/assets/images/percentage.png +0 -0
  47. data/lib/watch_tower/server/assets/javascripts/application.js +3 -0
  48. data/lib/watch_tower/server/assets/javascripts/percentage.coffee +8 -0
  49. data/lib/watch_tower/server/assets/stylesheets/application.css +7 -0
  50. data/lib/watch_tower/server/assets/stylesheets/global.sass +71 -0
  51. data/lib/watch_tower/server/assets/stylesheets/project.sass +59 -0
  52. data/lib/watch_tower/server/configurations.rb +10 -0
  53. data/lib/watch_tower/server/configurations/asset.rb +43 -0
  54. data/lib/watch_tower/server/database.rb +105 -0
  55. data/lib/watch_tower/server/db/migrate/001_create_projects.rb +15 -0
  56. data/lib/watch_tower/server/db/migrate/002_create_files.rb +16 -0
  57. data/lib/watch_tower/server/db/migrate/003_create_time_entries.rb +12 -0
  58. data/lib/watch_tower/server/db/migrate/004_create_durations.rb +14 -0
  59. data/lib/watch_tower/server/db/migrate/005_add_hash_to_time_entries.rb +6 -0
  60. data/lib/watch_tower/server/db/migrate/006_add_hash_to_files.rb +6 -0
  61. data/lib/watch_tower/server/decorator.rb +21 -0
  62. data/lib/watch_tower/server/decorator/application_decorator.rb +91 -0
  63. data/lib/watch_tower/server/decorator/file_decorator.rb +38 -0
  64. data/lib/watch_tower/server/decorator/project_decorator.rb +51 -0
  65. data/lib/watch_tower/server/helpers.rb +13 -0
  66. data/lib/watch_tower/server/helpers/asset.rb +29 -0
  67. data/lib/watch_tower/server/helpers/improved_partials.rb +41 -0
  68. data/lib/watch_tower/server/models/duration.rb +11 -0
  69. data/lib/watch_tower/server/models/file.rb +31 -0
  70. data/lib/watch_tower/server/models/project.rb +17 -0
  71. data/lib/watch_tower/server/models/time_entry.rb +64 -0
  72. data/lib/watch_tower/server/public/assets/WatchTower-4d6de11e1bd34165ad91ac46fb711bf3.jpg +0 -0
  73. data/lib/watch_tower/server/public/assets/application-7829b53b5ece1a16d22dc3d00f329023.css +107 -0
  74. data/lib/watch_tower/server/public/assets/application-e0e6b7731aade460f680331e65cf0682.js +9359 -0
  75. data/lib/watch_tower/server/public/assets/percentage-d8589e21a5fc85d32a445f531ff8ab95.png +0 -0
  76. data/lib/watch_tower/server/vendor/assets/javascripts/jquery-ui.js +11729 -0
  77. data/lib/watch_tower/server/vendor/assets/javascripts/jquery.js +8981 -0
  78. data/lib/watch_tower/server/vendor/assets/javascripts/jquery_ujs.js +363 -0
  79. data/lib/watch_tower/server/views/.gitkeep +0 -0
  80. data/lib/watch_tower/server/views/_file.haml +9 -0
  81. data/lib/watch_tower/server/views/_project.haml +13 -0
  82. data/lib/watch_tower/server/views/index.haml +7 -0
  83. data/lib/watch_tower/server/views/layout.haml +32 -0
  84. data/lib/watch_tower/server/views/project.haml +12 -0
  85. data/lib/watch_tower/templates/config.yml +146 -0
  86. data/lib/watch_tower/templates/watchtower.plist +23 -0
  87. data/lib/watch_tower/version.rb +8 -0
  88. data/spec/factories.rb +45 -0
  89. data/spec/spec_helper.rb +26 -0
  90. data/spec/support/active_record.rb +44 -0
  91. data/spec/support/factory_girl.rb +6 -0
  92. data/spec/support/launchy.rb +3 -0
  93. data/spec/support/sinatra.rb +10 -0
  94. data/spec/support/timecop.rb +7 -0
  95. data/spec/watch_tower/appscript_spec.rb +6 -0
  96. data/spec/watch_tower/cli/install_spec.rb +16 -0
  97. data/spec/watch_tower/cli/open_spec.rb +14 -0
  98. data/spec/watch_tower/cli/start_spec.rb +17 -0
  99. data/spec/watch_tower/cli_spec.rb +15 -0
  100. data/spec/watch_tower/config_spec.rb +25 -0
  101. data/spec/watch_tower/editor/textmate_spec.rb +43 -0
  102. data/spec/watch_tower/editor/xcode_spec.rb +43 -0
  103. data/spec/watch_tower/editor_spec.rb +19 -0
  104. data/spec/watch_tower/eye_spec.rb +130 -0
  105. data/spec/watch_tower/project/git_based_spec.rb +131 -0
  106. data/spec/watch_tower/project/path_based_spec.rb +111 -0
  107. data/spec/watch_tower/project_spec.rb +82 -0
  108. data/spec/watch_tower/server/app_spec.rb +186 -0
  109. data/spec/watch_tower/server/decorator/project_decorator_spec.rb +60 -0
  110. data/spec/watch_tower/server/models/file_spec.rb +284 -0
  111. data/spec/watch_tower/server/models/project_spec.rb +165 -0
  112. data/spec/watch_tower/server/models/time_entry_spec.rb +37 -0
  113. data/spec/watch_tower/server_spec.rb +4 -0
  114. data/watch_tower.gemspec +80 -0
  115. metadata +450 -0
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+
3
+ module Server
4
+ describe TimeEntry do
5
+ describe "Attributes" do
6
+ it { should respond_to :mtime }
7
+ end
8
+
9
+ describe "Validations" do
10
+ it { should_not be_valid }
11
+
12
+ it "should require an mtime" do
13
+ t = FactoryGirl.build :time_entry, mtime: nil
14
+ t.should_not be_valid
15
+ end
16
+
17
+ it "should require a hash" do
18
+ m = FactoryGirl.build :time_entry, file_hash: nil
19
+ m.should_not be_valid
20
+ end
21
+
22
+ it "should be valid if attributes requirements are met" do
23
+ t = FactoryGirl.build :time_entry
24
+ t.should be_valid
25
+ end
26
+ end
27
+
28
+ describe "Associations" do
29
+ it "should belong to a file" do
30
+ f = FactoryGirl.create :file
31
+ t = FactoryGirl.create :time_entry, file: f
32
+
33
+ t.file.should == f
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,4 @@
1
+ require 'spec_helper'
2
+
3
+ describe Server do
4
+ end
@@ -0,0 +1,80 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "watch_tower/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "watch_tower"
7
+ s.version = WatchTower::VERSION
8
+ s.authors = ["Wael Nasreddine"]
9
+ s.email = ["wael.nasreddine@gmail.com"]
10
+ s.homepage = ""
11
+ s.summary = "Unobtrusive time-tracking for TextMate."
12
+ s.description = "WatchTower helps you track the time you spend on each project."
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ s.require_paths = ["lib"]
18
+
19
+ s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
20
+
21
+ ####
22
+ # Run-time dependencies
23
+ ####
24
+
25
+ # Active Support
26
+ s.add_dependency 'activesupport', '~>3.1.1'
27
+ s.add_dependency 'i18n', '~>0.6.0'
28
+
29
+ # Active Record
30
+ s.add_dependency 'activerecord', '~>3.1.1'
31
+
32
+ # Sinatra
33
+ s.add_dependency 'sinatra', '~> 1.3.0'
34
+ s.add_dependency 'sinatra-snap', '~>0.3.2'
35
+ s.add_dependency 'haml', '~>3.1.3'
36
+
37
+ # Decorators
38
+ s.add_dependency 'draper', '~>0.8.0'
39
+
40
+ # Git
41
+ s.add_dependency 'git', '~>1.2.5'
42
+
43
+ # Asset Pipeline
44
+ s.add_dependency 'coffee-script', '~>2.2.0'
45
+ s.add_dependency 'uglifier', '~>1.0.3'
46
+ s.add_dependency 'sass', '~>3.1.10'
47
+ s.add_dependency 'sprockets', '~>2.0.2'
48
+
49
+ ####
50
+ # Development dependencies
51
+ ####
52
+ s.add_development_dependency 'guard', '~>0.8.4'
53
+ s.add_development_dependency 'guard-bundler', '~>0.1.3'
54
+ s.add_development_dependency 'guard-rspec', '~>0.4.5'
55
+ s.add_development_dependency 'guard-sprockets2', '~>0.0.5'
56
+
57
+ ####
58
+ # Development / Test dependencies
59
+ ####
60
+
61
+ # RSpec / Capybara
62
+ s.add_development_dependency 'rspec', '~>2.6.0'
63
+ s.add_development_dependency 'rspec-rails', '~>2.6.1'
64
+ s.add_development_dependency 'capybara', '~>1.1.1'
65
+ s.add_development_dependency 'launchy', '~>2.0.5'
66
+
67
+ # Mocha
68
+ s.add_development_dependency 'mocha', '~>0.10.0'
69
+
70
+ # Factory Girl
71
+ s.add_development_dependency 'factory_girl', '~>2.1.2'
72
+
73
+ # Timecop
74
+ s.add_development_dependency 'timecop', '~>0.3.5'
75
+
76
+ ####
77
+ # Debugging
78
+ ####
79
+ s.add_development_dependency 'pry', '~>0.9.6.2'
80
+ end
metadata ADDED
@@ -0,0 +1,450 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: watch_tower
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Wael Nasreddine
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-10-11 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: &2151931760 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 3.1.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2151931760
25
+ - !ruby/object:Gem::Dependency
26
+ name: i18n
27
+ requirement: &2151930840 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 0.6.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2151930840
36
+ - !ruby/object:Gem::Dependency
37
+ name: activerecord
38
+ requirement: &2151929640 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 3.1.1
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *2151929640
47
+ - !ruby/object:Gem::Dependency
48
+ name: sinatra
49
+ requirement: &2151928220 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.3.0
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *2151928220
58
+ - !ruby/object:Gem::Dependency
59
+ name: sinatra-snap
60
+ requirement: &2151927320 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 0.3.2
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *2151927320
69
+ - !ruby/object:Gem::Dependency
70
+ name: haml
71
+ requirement: &2151926700 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 3.1.3
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: *2151926700
80
+ - !ruby/object:Gem::Dependency
81
+ name: draper
82
+ requirement: &2151925680 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 0.8.0
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *2151925680
91
+ - !ruby/object:Gem::Dependency
92
+ name: git
93
+ requirement: &2151924880 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: 1.2.5
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: *2151924880
102
+ - !ruby/object:Gem::Dependency
103
+ name: coffee-script
104
+ requirement: &2151923720 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 2.2.0
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: *2151923720
113
+ - !ruby/object:Gem::Dependency
114
+ name: uglifier
115
+ requirement: &2151922300 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: 1.0.3
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *2151922300
124
+ - !ruby/object:Gem::Dependency
125
+ name: sass
126
+ requirement: &2151919960 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: 3.1.10
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: *2151919960
135
+ - !ruby/object:Gem::Dependency
136
+ name: sprockets
137
+ requirement: &2151918080 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
142
+ version: 2.0.2
143
+ type: :runtime
144
+ prerelease: false
145
+ version_requirements: *2151918080
146
+ - !ruby/object:Gem::Dependency
147
+ name: guard
148
+ requirement: &2151917220 !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ~>
152
+ - !ruby/object:Gem::Version
153
+ version: 0.8.4
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: *2151917220
157
+ - !ruby/object:Gem::Dependency
158
+ name: guard-bundler
159
+ requirement: &2151916080 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ~>
163
+ - !ruby/object:Gem::Version
164
+ version: 0.1.3
165
+ type: :development
166
+ prerelease: false
167
+ version_requirements: *2151916080
168
+ - !ruby/object:Gem::Dependency
169
+ name: guard-rspec
170
+ requirement: &2151914400 !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ~>
174
+ - !ruby/object:Gem::Version
175
+ version: 0.4.5
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: *2151914400
179
+ - !ruby/object:Gem::Dependency
180
+ name: guard-sprockets2
181
+ requirement: &2151910360 !ruby/object:Gem::Requirement
182
+ none: false
183
+ requirements:
184
+ - - ~>
185
+ - !ruby/object:Gem::Version
186
+ version: 0.0.5
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: *2151910360
190
+ - !ruby/object:Gem::Dependency
191
+ name: rspec
192
+ requirement: &2151909220 !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ~>
196
+ - !ruby/object:Gem::Version
197
+ version: 2.6.0
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: *2151909220
201
+ - !ruby/object:Gem::Dependency
202
+ name: rspec-rails
203
+ requirement: &2151906920 !ruby/object:Gem::Requirement
204
+ none: false
205
+ requirements:
206
+ - - ~>
207
+ - !ruby/object:Gem::Version
208
+ version: 2.6.1
209
+ type: :development
210
+ prerelease: false
211
+ version_requirements: *2151906920
212
+ - !ruby/object:Gem::Dependency
213
+ name: capybara
214
+ requirement: &2151902360 !ruby/object:Gem::Requirement
215
+ none: false
216
+ requirements:
217
+ - - ~>
218
+ - !ruby/object:Gem::Version
219
+ version: 1.1.1
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: *2151902360
223
+ - !ruby/object:Gem::Dependency
224
+ name: launchy
225
+ requirement: &2151899740 !ruby/object:Gem::Requirement
226
+ none: false
227
+ requirements:
228
+ - - ~>
229
+ - !ruby/object:Gem::Version
230
+ version: 2.0.5
231
+ type: :development
232
+ prerelease: false
233
+ version_requirements: *2151899740
234
+ - !ruby/object:Gem::Dependency
235
+ name: mocha
236
+ requirement: &2151897580 !ruby/object:Gem::Requirement
237
+ none: false
238
+ requirements:
239
+ - - ~>
240
+ - !ruby/object:Gem::Version
241
+ version: 0.10.0
242
+ type: :development
243
+ prerelease: false
244
+ version_requirements: *2151897580
245
+ - !ruby/object:Gem::Dependency
246
+ name: factory_girl
247
+ requirement: &2151895320 !ruby/object:Gem::Requirement
248
+ none: false
249
+ requirements:
250
+ - - ~>
251
+ - !ruby/object:Gem::Version
252
+ version: 2.1.2
253
+ type: :development
254
+ prerelease: false
255
+ version_requirements: *2151895320
256
+ - !ruby/object:Gem::Dependency
257
+ name: timecop
258
+ requirement: &2151892300 !ruby/object:Gem::Requirement
259
+ none: false
260
+ requirements:
261
+ - - ~>
262
+ - !ruby/object:Gem::Version
263
+ version: 0.3.5
264
+ type: :development
265
+ prerelease: false
266
+ version_requirements: *2151892300
267
+ - !ruby/object:Gem::Dependency
268
+ name: pry
269
+ requirement: &2151890420 !ruby/object:Gem::Requirement
270
+ none: false
271
+ requirements:
272
+ - - ~>
273
+ - !ruby/object:Gem::Version
274
+ version: 0.9.6.2
275
+ type: :development
276
+ prerelease: false
277
+ version_requirements: *2151890420
278
+ description: WatchTower helps you track the time you spend on each project.
279
+ email:
280
+ - wael.nasreddine@gmail.com
281
+ executables:
282
+ - watchtower
283
+ extensions: []
284
+ extra_rdoc_files: []
285
+ files:
286
+ - .gitignore
287
+ - .todo
288
+ - .travis.yml
289
+ - Gemfile
290
+ - Guardfile
291
+ - MIT-LICENSE
292
+ - README.md
293
+ - Rakefile
294
+ - TODO
295
+ - bin/watchtower
296
+ - ci/adapters/jruby-mysql.yml
297
+ - ci/adapters/jruby-postgresql.yml
298
+ - ci/adapters/jruby-sqlite.yml
299
+ - ci/adapters/ruby-mysql.yml
300
+ - ci/adapters/ruby-postgresql.yml
301
+ - ci/adapters/ruby-sqlite.yml
302
+ - ci/travis.rb
303
+ - lib/watch_tower.rb
304
+ - lib/watch_tower/appscript.rb
305
+ - lib/watch_tower/cli.rb
306
+ - lib/watch_tower/cli/.gitkeep
307
+ - lib/watch_tower/cli/install.rb
308
+ - lib/watch_tower/cli/open.rb
309
+ - lib/watch_tower/cli/start.rb
310
+ - lib/watch_tower/config.rb
311
+ - lib/watch_tower/core_ext.rb
312
+ - lib/watch_tower/core_ext/.gitkeep
313
+ - lib/watch_tower/editor.rb
314
+ - lib/watch_tower/editor/.gitkeep
315
+ - lib/watch_tower/editor/base_appscript.rb
316
+ - lib/watch_tower/editor/base_ps.rb
317
+ - lib/watch_tower/editor/textmate.rb
318
+ - lib/watch_tower/editor/xcode.rb
319
+ - lib/watch_tower/errors.rb
320
+ - lib/watch_tower/eye.rb
321
+ - lib/watch_tower/project.rb
322
+ - lib/watch_tower/project/.gitkeep
323
+ - lib/watch_tower/project/any_based.rb
324
+ - lib/watch_tower/project/git_based.rb
325
+ - lib/watch_tower/project/init.rb
326
+ - lib/watch_tower/project/path_based.rb
327
+ - lib/watch_tower/server.rb
328
+ - lib/watch_tower/server/.gitkeep
329
+ - lib/watch_tower/server/app.rb
330
+ - lib/watch_tower/server/assets/images/WatchTower.jpg
331
+ - lib/watch_tower/server/assets/images/percentage.png
332
+ - lib/watch_tower/server/assets/javascripts/application.js
333
+ - lib/watch_tower/server/assets/javascripts/percentage.coffee
334
+ - lib/watch_tower/server/assets/stylesheets/application.css
335
+ - lib/watch_tower/server/assets/stylesheets/global.sass
336
+ - lib/watch_tower/server/assets/stylesheets/project.sass
337
+ - lib/watch_tower/server/configurations.rb
338
+ - lib/watch_tower/server/configurations/asset.rb
339
+ - lib/watch_tower/server/database.rb
340
+ - lib/watch_tower/server/db/migrate/001_create_projects.rb
341
+ - lib/watch_tower/server/db/migrate/002_create_files.rb
342
+ - lib/watch_tower/server/db/migrate/003_create_time_entries.rb
343
+ - lib/watch_tower/server/db/migrate/004_create_durations.rb
344
+ - lib/watch_tower/server/db/migrate/005_add_hash_to_time_entries.rb
345
+ - lib/watch_tower/server/db/migrate/006_add_hash_to_files.rb
346
+ - lib/watch_tower/server/decorator.rb
347
+ - lib/watch_tower/server/decorator/application_decorator.rb
348
+ - lib/watch_tower/server/decorator/file_decorator.rb
349
+ - lib/watch_tower/server/decorator/project_decorator.rb
350
+ - lib/watch_tower/server/helpers.rb
351
+ - lib/watch_tower/server/helpers/asset.rb
352
+ - lib/watch_tower/server/helpers/improved_partials.rb
353
+ - lib/watch_tower/server/models/duration.rb
354
+ - lib/watch_tower/server/models/file.rb
355
+ - lib/watch_tower/server/models/project.rb
356
+ - lib/watch_tower/server/models/time_entry.rb
357
+ - lib/watch_tower/server/public/assets/WatchTower-4d6de11e1bd34165ad91ac46fb711bf3.jpg
358
+ - lib/watch_tower/server/public/assets/application-7829b53b5ece1a16d22dc3d00f329023.css
359
+ - lib/watch_tower/server/public/assets/application-e0e6b7731aade460f680331e65cf0682.js
360
+ - lib/watch_tower/server/public/assets/percentage-d8589e21a5fc85d32a445f531ff8ab95.png
361
+ - lib/watch_tower/server/vendor/assets/javascripts/jquery-ui.js
362
+ - lib/watch_tower/server/vendor/assets/javascripts/jquery.js
363
+ - lib/watch_tower/server/vendor/assets/javascripts/jquery_ujs.js
364
+ - lib/watch_tower/server/views/.gitkeep
365
+ - lib/watch_tower/server/views/_file.haml
366
+ - lib/watch_tower/server/views/_project.haml
367
+ - lib/watch_tower/server/views/index.haml
368
+ - lib/watch_tower/server/views/layout.haml
369
+ - lib/watch_tower/server/views/project.haml
370
+ - lib/watch_tower/templates/config.yml
371
+ - lib/watch_tower/templates/watchtower.plist
372
+ - lib/watch_tower/version.rb
373
+ - spec/factories.rb
374
+ - spec/spec_helper.rb
375
+ - spec/support/active_record.rb
376
+ - spec/support/factory_girl.rb
377
+ - spec/support/launchy.rb
378
+ - spec/support/sinatra.rb
379
+ - spec/support/timecop.rb
380
+ - spec/watch_tower/appscript_spec.rb
381
+ - spec/watch_tower/cli/install_spec.rb
382
+ - spec/watch_tower/cli/open_spec.rb
383
+ - spec/watch_tower/cli/start_spec.rb
384
+ - spec/watch_tower/cli_spec.rb
385
+ - spec/watch_tower/config_spec.rb
386
+ - spec/watch_tower/editor/textmate_spec.rb
387
+ - spec/watch_tower/editor/xcode_spec.rb
388
+ - spec/watch_tower/editor_spec.rb
389
+ - spec/watch_tower/eye_spec.rb
390
+ - spec/watch_tower/project/git_based_spec.rb
391
+ - spec/watch_tower/project/path_based_spec.rb
392
+ - spec/watch_tower/project_spec.rb
393
+ - spec/watch_tower/server/app_spec.rb
394
+ - spec/watch_tower/server/decorator/project_decorator_spec.rb
395
+ - spec/watch_tower/server/models/file_spec.rb
396
+ - spec/watch_tower/server/models/project_spec.rb
397
+ - spec/watch_tower/server/models/time_entry_spec.rb
398
+ - spec/watch_tower/server_spec.rb
399
+ - watch_tower.gemspec
400
+ homepage: ''
401
+ licenses: []
402
+ post_install_message:
403
+ rdoc_options: []
404
+ require_paths:
405
+ - lib
406
+ required_ruby_version: !ruby/object:Gem::Requirement
407
+ none: false
408
+ requirements:
409
+ - - ! '>='
410
+ - !ruby/object:Gem::Version
411
+ version: 1.9.2
412
+ required_rubygems_version: !ruby/object:Gem::Requirement
413
+ none: false
414
+ requirements:
415
+ - - ! '>='
416
+ - !ruby/object:Gem::Version
417
+ version: '0'
418
+ requirements: []
419
+ rubyforge_project:
420
+ rubygems_version: 1.8.10
421
+ signing_key:
422
+ specification_version: 3
423
+ summary: Unobtrusive time-tracking for TextMate.
424
+ test_files:
425
+ - spec/factories.rb
426
+ - spec/spec_helper.rb
427
+ - spec/support/active_record.rb
428
+ - spec/support/factory_girl.rb
429
+ - spec/support/launchy.rb
430
+ - spec/support/sinatra.rb
431
+ - spec/support/timecop.rb
432
+ - spec/watch_tower/appscript_spec.rb
433
+ - spec/watch_tower/cli/install_spec.rb
434
+ - spec/watch_tower/cli/open_spec.rb
435
+ - spec/watch_tower/cli/start_spec.rb
436
+ - spec/watch_tower/cli_spec.rb
437
+ - spec/watch_tower/config_spec.rb
438
+ - spec/watch_tower/editor/textmate_spec.rb
439
+ - spec/watch_tower/editor/xcode_spec.rb
440
+ - spec/watch_tower/editor_spec.rb
441
+ - spec/watch_tower/eye_spec.rb
442
+ - spec/watch_tower/project/git_based_spec.rb
443
+ - spec/watch_tower/project/path_based_spec.rb
444
+ - spec/watch_tower/project_spec.rb
445
+ - spec/watch_tower/server/app_spec.rb
446
+ - spec/watch_tower/server/decorator/project_decorator_spec.rb
447
+ - spec/watch_tower/server/models/file_spec.rb
448
+ - spec/watch_tower/server/models/project_spec.rb
449
+ - spec/watch_tower/server/models/time_entry_spec.rb
450
+ - spec/watch_tower/server_spec.rb