Pratt 1.5.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) hide show
  1. data/.exrc +61 -0
  2. data/.gitignore +4 -0
  3. data/History.txt +6 -0
  4. data/Manifest.txt +46 -0
  5. data/Pratt.gemspec +351 -0
  6. data/README.txt +66 -0
  7. data/Rakefile +85 -0
  8. data/TODO +54 -0
  9. data/VERSION +1 -0
  10. data/bin/pratt.rb +13 -0
  11. data/config.rb +34 -0
  12. data/lib/pratt.rb +527 -0
  13. data/lib/pratt/array.rb +11 -0
  14. data/lib/pratt/string.rb +18 -0
  15. data/models/app.rb +40 -0
  16. data/models/customer.rb +24 -0
  17. data/models/payment.rb +22 -0
  18. data/models/pratt.rb +19 -0
  19. data/models/project.rb +82 -0
  20. data/models/whence.rb +70 -0
  21. data/pkgs/tile-0.8.2.tar.gz +0 -0
  22. data/pkgs/tile-0.8.2/ANNOUNCE.txt +95 -0
  23. data/pkgs/tile-0.8.2/ChangeLog +4651 -0
  24. data/pkgs/tile-0.8.2/Makefile +250 -0
  25. data/pkgs/tile-0.8.2/Makefile.in +250 -0
  26. data/pkgs/tile-0.8.2/README.txt +86 -0
  27. data/pkgs/tile-0.8.2/aclocal.m4 +2 -0
  28. data/pkgs/tile-0.8.2/altTheme.o +0 -0
  29. data/pkgs/tile-0.8.2/blink.o +0 -0
  30. data/pkgs/tile-0.8.2/button.o +0 -0
  31. data/pkgs/tile-0.8.2/cache.o +0 -0
  32. data/pkgs/tile-0.8.2/clamTheme.o +0 -0
  33. data/pkgs/tile-0.8.2/classicTheme.o +0 -0
  34. data/pkgs/tile-0.8.2/config.log +1330 -0
  35. data/pkgs/tile-0.8.2/config.status +795 -0
  36. data/pkgs/tile-0.8.2/configure +15248 -0
  37. data/pkgs/tile-0.8.2/configure.in +89 -0
  38. data/pkgs/tile-0.8.2/demos/autocomplete.tcl +59 -0
  39. data/pkgs/tile-0.8.2/demos/demo.tcl +870 -0
  40. data/pkgs/tile-0.8.2/demos/dirbrowser.tcl +167 -0
  41. data/pkgs/tile-0.8.2/demos/dlgtest.tcl +97 -0
  42. data/pkgs/tile-0.8.2/demos/iconlib.tcl +110 -0
  43. data/pkgs/tile-0.8.2/demos/repeater.tcl +117 -0
  44. data/pkgs/tile-0.8.2/demos/toolbutton.tcl +101 -0
  45. data/pkgs/tile-0.8.2/doc/Geometry.3 +230 -0
  46. data/pkgs/tile-0.8.2/doc/INDEX.MAP +153 -0
  47. data/pkgs/tile-0.8.2/doc/Makefile +36 -0
  48. data/pkgs/tile-0.8.2/doc/TILE.XML +45 -0
  49. data/pkgs/tile-0.8.2/doc/Theme.3 +34 -0
  50. data/pkgs/tile-0.8.2/doc/button.n +75 -0
  51. data/pkgs/tile-0.8.2/doc/checkbutton.n +61 -0
  52. data/pkgs/tile-0.8.2/doc/combobox.n +98 -0
  53. data/pkgs/tile-0.8.2/doc/converting.txt +97 -0
  54. data/pkgs/tile-0.8.2/doc/dialog.n +122 -0
  55. data/pkgs/tile-0.8.2/doc/entry.n +438 -0
  56. data/pkgs/tile-0.8.2/doc/frame.n +43 -0
  57. data/pkgs/tile-0.8.2/doc/html/Geometry.html +304 -0
  58. data/pkgs/tile-0.8.2/doc/html/Theme.html +48 -0
  59. data/pkgs/tile-0.8.2/doc/html/button.html +120 -0
  60. data/pkgs/tile-0.8.2/doc/html/category-index.html +18 -0
  61. data/pkgs/tile-0.8.2/doc/html/checkbutton.html +94 -0
  62. data/pkgs/tile-0.8.2/doc/html/combobox.html +164 -0
  63. data/pkgs/tile-0.8.2/doc/html/converting.txt +97 -0
  64. data/pkgs/tile-0.8.2/doc/html/dialog.html +159 -0
  65. data/pkgs/tile-0.8.2/doc/html/entry.html +613 -0
  66. data/pkgs/tile-0.8.2/doc/html/frame.html +76 -0
  67. data/pkgs/tile-0.8.2/doc/html/image.html +100 -0
  68. data/pkgs/tile-0.8.2/doc/html/index.html +25 -0
  69. data/pkgs/tile-0.8.2/doc/html/keyword-index.html +228 -0
  70. data/pkgs/tile-0.8.2/doc/html/label.html +133 -0
  71. data/pkgs/tile-0.8.2/doc/html/labelframe.html +91 -0
  72. data/pkgs/tile-0.8.2/doc/html/manpage.css +212 -0
  73. data/pkgs/tile-0.8.2/doc/html/menubutton.html +63 -0
  74. data/pkgs/tile-0.8.2/doc/html/notebook.html +280 -0
  75. data/pkgs/tile-0.8.2/doc/html/paned.html +149 -0
  76. data/pkgs/tile-0.8.2/doc/html/progressbar.html +138 -0
  77. data/pkgs/tile-0.8.2/doc/html/radiobutton.html +89 -0
  78. data/pkgs/tile-0.8.2/doc/html/scrollbar.html +221 -0
  79. data/pkgs/tile-0.8.2/doc/html/separator.html +48 -0
  80. data/pkgs/tile-0.8.2/doc/html/sizegrip.html +62 -0
  81. data/pkgs/tile-0.8.2/doc/html/style.html +172 -0
  82. data/pkgs/tile-0.8.2/doc/html/tile-intro.html +164 -0
  83. data/pkgs/tile-0.8.2/doc/html/treeview.html +634 -0
  84. data/pkgs/tile-0.8.2/doc/html/widget.html +342 -0
  85. data/pkgs/tile-0.8.2/doc/image.n +81 -0
  86. data/pkgs/tile-0.8.2/doc/internals.txt +409 -0
  87. data/pkgs/tile-0.8.2/doc/label.n +75 -0
  88. data/pkgs/tile-0.8.2/doc/labelframe.n +64 -0
  89. data/pkgs/tile-0.8.2/doc/man.macros +239 -0
  90. data/pkgs/tile-0.8.2/doc/menubutton.n +41 -0
  91. data/pkgs/tile-0.8.2/doc/notebook.n +188 -0
  92. data/pkgs/tile-0.8.2/doc/paned.n +95 -0
  93. data/pkgs/tile-0.8.2/doc/progressbar.n +79 -0
  94. data/pkgs/tile-0.8.2/doc/radiobutton.n +57 -0
  95. data/pkgs/tile-0.8.2/doc/scrollbar.n +160 -0
  96. data/pkgs/tile-0.8.2/doc/separator.n +30 -0
  97. data/pkgs/tile-0.8.2/doc/sizegrip.n +53 -0
  98. data/pkgs/tile-0.8.2/doc/style.n +119 -0
  99. data/pkgs/tile-0.8.2/doc/tile-intro.n +165 -0
  100. data/pkgs/tile-0.8.2/doc/tmml.options +4 -0
  101. data/pkgs/tile-0.8.2/doc/treeview.n +415 -0
  102. data/pkgs/tile-0.8.2/doc/widget.n +227 -0
  103. data/pkgs/tile-0.8.2/doc/xml/Geometry.tmml +379 -0
  104. data/pkgs/tile-0.8.2/doc/xml/INDEX.MAP +153 -0
  105. data/pkgs/tile-0.8.2/doc/xml/Theme.tmml +63 -0
  106. data/pkgs/tile-0.8.2/doc/xml/button.tmml +134 -0
  107. data/pkgs/tile-0.8.2/doc/xml/checkbutton.tmml +119 -0
  108. data/pkgs/tile-0.8.2/doc/xml/combobox.tmml +184 -0
  109. data/pkgs/tile-0.8.2/doc/xml/dialog.tmml +195 -0
  110. data/pkgs/tile-0.8.2/doc/xml/entry.tmml +630 -0
  111. data/pkgs/tile-0.8.2/doc/xml/frame.tmml +98 -0
  112. data/pkgs/tile-0.8.2/doc/xml/image.tmml +101 -0
  113. data/pkgs/tile-0.8.2/doc/xml/label.tmml +154 -0
  114. data/pkgs/tile-0.8.2/doc/xml/labelframe.tmml +116 -0
  115. data/pkgs/tile-0.8.2/doc/xml/menubutton.tmml +80 -0
  116. data/pkgs/tile-0.8.2/doc/xml/notebook.tmml +306 -0
  117. data/pkgs/tile-0.8.2/doc/xml/paned.tmml +154 -0
  118. data/pkgs/tile-0.8.2/doc/xml/progressbar.tmml +151 -0
  119. data/pkgs/tile-0.8.2/doc/xml/radiobutton.tmml +109 -0
  120. data/pkgs/tile-0.8.2/doc/xml/scrollbar.tmml +233 -0
  121. data/pkgs/tile-0.8.2/doc/xml/separator.tmml +59 -0
  122. data/pkgs/tile-0.8.2/doc/xml/sizegrip.tmml +82 -0
  123. data/pkgs/tile-0.8.2/doc/xml/style.tmml +171 -0
  124. data/pkgs/tile-0.8.2/doc/xml/tile-intro.tmml +192 -0
  125. data/pkgs/tile-0.8.2/doc/xml/treeview.tmml +604 -0
  126. data/pkgs/tile-0.8.2/doc/xml/widget.tmml +372 -0
  127. data/pkgs/tile-0.8.2/entry.o +0 -0
  128. data/pkgs/tile-0.8.2/frame.o +0 -0
  129. data/pkgs/tile-0.8.2/generic/Makefile.in +221 -0
  130. data/pkgs/tile-0.8.2/generic/TODO +493 -0
  131. data/pkgs/tile-0.8.2/generic/altTheme.c +1172 -0
  132. data/pkgs/tile-0.8.2/generic/blink.c +168 -0
  133. data/pkgs/tile-0.8.2/generic/button.c +858 -0
  134. data/pkgs/tile-0.8.2/generic/cache.c +354 -0
  135. data/pkgs/tile-0.8.2/generic/clamTheme.c +974 -0
  136. data/pkgs/tile-0.8.2/generic/classicTheme.c +518 -0
  137. data/pkgs/tile-0.8.2/generic/configure +10334 -0
  138. data/pkgs/tile-0.8.2/generic/configure.in +100 -0
  139. data/pkgs/tile-0.8.2/generic/entry.c +1922 -0
  140. data/pkgs/tile-0.8.2/generic/frame.c +648 -0
  141. data/pkgs/tile-0.8.2/generic/gunk.h +44 -0
  142. data/pkgs/tile-0.8.2/generic/image.c +416 -0
  143. data/pkgs/tile-0.8.2/generic/label.c +663 -0
  144. data/pkgs/tile-0.8.2/generic/layout.c +1215 -0
  145. data/pkgs/tile-0.8.2/generic/manager.c +554 -0
  146. data/pkgs/tile-0.8.2/generic/manager.h +91 -0
  147. data/pkgs/tile-0.8.2/generic/notebook.c +1380 -0
  148. data/pkgs/tile-0.8.2/generic/paned.c +958 -0
  149. data/pkgs/tile-0.8.2/generic/pkgIndex.tcl.in +7 -0
  150. data/pkgs/tile-0.8.2/generic/progress.c +549 -0
  151. data/pkgs/tile-0.8.2/generic/scale.c +526 -0
  152. data/pkgs/tile-0.8.2/generic/scroll.c +253 -0
  153. data/pkgs/tile-0.8.2/generic/scrollbar.c +346 -0
  154. data/pkgs/tile-0.8.2/generic/separator.c +132 -0
  155. data/pkgs/tile-0.8.2/generic/square.c +306 -0
  156. data/pkgs/tile-0.8.2/generic/tagset.c +147 -0
  157. data/pkgs/tile-0.8.2/generic/tile.c +296 -0
  158. data/pkgs/tile-0.8.2/generic/tkElements.c +1280 -0
  159. data/pkgs/tile-0.8.2/generic/tkTheme.c +1708 -0
  160. data/pkgs/tile-0.8.2/generic/tkTheme.h +419 -0
  161. data/pkgs/tile-0.8.2/generic/tkThemeInt.h +45 -0
  162. data/pkgs/tile-0.8.2/generic/tkstate.c +268 -0
  163. data/pkgs/tile-0.8.2/generic/trace.c +145 -0
  164. data/pkgs/tile-0.8.2/generic/track.c +174 -0
  165. data/pkgs/tile-0.8.2/generic/treeview.c +3211 -0
  166. data/pkgs/tile-0.8.2/generic/ttk.decls +154 -0
  167. data/pkgs/tile-0.8.2/generic/ttkDecls.h +340 -0
  168. data/pkgs/tile-0.8.2/generic/ttkStubInit.c +61 -0
  169. data/pkgs/tile-0.8.2/generic/ttkStubLib.c +70 -0
  170. data/pkgs/tile-0.8.2/generic/widget.c +785 -0
  171. data/pkgs/tile-0.8.2/generic/widget.h +263 -0
  172. data/pkgs/tile-0.8.2/image.o +0 -0
  173. data/pkgs/tile-0.8.2/label.o +0 -0
  174. data/pkgs/tile-0.8.2/layout.o +0 -0
  175. data/pkgs/tile-0.8.2/library/altTheme.tcl +101 -0
  176. data/pkgs/tile-0.8.2/library/aquaTheme.tcl +62 -0
  177. data/pkgs/tile-0.8.2/library/button.tcl +85 -0
  178. data/pkgs/tile-0.8.2/library/clamTheme.tcl +139 -0
  179. data/pkgs/tile-0.8.2/library/classicTheme.tcl +108 -0
  180. data/pkgs/tile-0.8.2/library/combobox.tcl +439 -0
  181. data/pkgs/tile-0.8.2/library/cursors.tcl +36 -0
  182. data/pkgs/tile-0.8.2/library/defaults.tcl +118 -0
  183. data/pkgs/tile-0.8.2/library/dialog.tcl +274 -0
  184. data/pkgs/tile-0.8.2/library/entry.tcl +580 -0
  185. data/pkgs/tile-0.8.2/library/fonts.tcl +153 -0
  186. data/pkgs/tile-0.8.2/library/icons.tcl +105 -0
  187. data/pkgs/tile-0.8.2/library/keynav.tcl +192 -0
  188. data/pkgs/tile-0.8.2/library/menubutton.tcl +171 -0
  189. data/pkgs/tile-0.8.2/library/notebook.tcl +193 -0
  190. data/pkgs/tile-0.8.2/library/paned.tcl +87 -0
  191. data/pkgs/tile-0.8.2/library/progress.tcl +51 -0
  192. data/pkgs/tile-0.8.2/library/scale.tcl +54 -0
  193. data/pkgs/tile-0.8.2/library/scrollbar.tcl +125 -0
  194. data/pkgs/tile-0.8.2/library/sizegrip.tcl +77 -0
  195. data/pkgs/tile-0.8.2/library/tile.tcl +211 -0
  196. data/pkgs/tile-0.8.2/library/treeview.tcl +382 -0
  197. data/pkgs/tile-0.8.2/library/utils.tcl +254 -0
  198. data/pkgs/tile-0.8.2/library/winTheme.tcl +77 -0
  199. data/pkgs/tile-0.8.2/library/xpTheme.tcl +63 -0
  200. data/pkgs/tile-0.8.2/libtile0.8.2.so +0 -0
  201. data/pkgs/tile-0.8.2/libttkstub.a +0 -0
  202. data/pkgs/tile-0.8.2/license.terms +24 -0
  203. data/pkgs/tile-0.8.2/macosx/aquaTheme.c +1076 -0
  204. data/pkgs/tile-0.8.2/manager.o +0 -0
  205. data/pkgs/tile-0.8.2/notebook.o +0 -0
  206. data/pkgs/tile-0.8.2/paned.o +0 -0
  207. data/pkgs/tile-0.8.2/pkgIndex.tcl +3 -0
  208. data/pkgs/tile-0.8.2/progress.o +0 -0
  209. data/pkgs/tile-0.8.2/scale.o +0 -0
  210. data/pkgs/tile-0.8.2/scroll.o +0 -0
  211. data/pkgs/tile-0.8.2/scrollbar.o +0 -0
  212. data/pkgs/tile-0.8.2/separator.o +0 -0
  213. data/pkgs/tile-0.8.2/tagset.o +0 -0
  214. data/pkgs/tile-0.8.2/tclconfig/install-sh +119 -0
  215. data/pkgs/tile-0.8.2/tclconfig/tcl.m4 +4069 -0
  216. data/pkgs/tile-0.8.2/tclconfig/teax.m4 +109 -0
  217. data/pkgs/tile-0.8.2/tests/all.tcl +18 -0
  218. data/pkgs/tile-0.8.2/tests/bwidget.test +103 -0
  219. data/pkgs/tile-0.8.2/tests/cbtest.tcl +125 -0
  220. data/pkgs/tile-0.8.2/tests/combobox.test +51 -0
  221. data/pkgs/tile-0.8.2/tests/compound.tcl +92 -0
  222. data/pkgs/tile-0.8.2/tests/entry.test +285 -0
  223. data/pkgs/tile-0.8.2/tests/entrytest.tcl +78 -0
  224. data/pkgs/tile-0.8.2/tests/image.test +94 -0
  225. data/pkgs/tile-0.8.2/tests/labelframe.tcl +41 -0
  226. data/pkgs/tile-0.8.2/tests/labelframe.test +137 -0
  227. data/pkgs/tile-0.8.2/tests/layout.test +33 -0
  228. data/pkgs/tile-0.8.2/tests/misc.test +35 -0
  229. data/pkgs/tile-0.8.2/tests/nbtest.tcl +66 -0
  230. data/pkgs/tile-0.8.2/tests/notebook.test +500 -0
  231. data/pkgs/tile-0.8.2/tests/paned.test +298 -0
  232. data/pkgs/tile-0.8.2/tests/progress.test +92 -0
  233. data/pkgs/tile-0.8.2/tests/pwtest.tcl +90 -0
  234. data/pkgs/tile-0.8.2/tests/sbtest.tcl +79 -0
  235. data/pkgs/tile-0.8.2/tests/scrollbar.test +77 -0
  236. data/pkgs/tile-0.8.2/tests/sgtest.tcl +52 -0
  237. data/pkgs/tile-0.8.2/tests/testutils.tcl +20 -0
  238. data/pkgs/tile-0.8.2/tests/tile.test +674 -0
  239. data/pkgs/tile-0.8.2/tests/treetags.test +78 -0
  240. data/pkgs/tile-0.8.2/tests/treeview.test +563 -0
  241. data/pkgs/tile-0.8.2/tests/tvtest.tcl +332 -0
  242. data/pkgs/tile-0.8.2/tests/validate.test +278 -0
  243. data/pkgs/tile-0.8.2/tile.o +0 -0
  244. data/pkgs/tile-0.8.2/tkElements.o +0 -0
  245. data/pkgs/tile-0.8.2/tkTheme.o +0 -0
  246. data/pkgs/tile-0.8.2/tkstate.o +0 -0
  247. data/pkgs/tile-0.8.2/tools/genStubs.tcl +861 -0
  248. data/pkgs/tile-0.8.2/trace.o +0 -0
  249. data/pkgs/tile-0.8.2/track.o +0 -0
  250. data/pkgs/tile-0.8.2/treeview.o +0 -0
  251. data/pkgs/tile-0.8.2/ttkStubInit.o +0 -0
  252. data/pkgs/tile-0.8.2/ttkStubLib.o +0 -0
  253. data/pkgs/tile-0.8.2/widget.o +0 -0
  254. data/pkgs/tile-0.8.2/win/Tile.dsp +261 -0
  255. data/pkgs/tile-0.8.2/win/makefile.vc +527 -0
  256. data/pkgs/tile-0.8.2/win/monitor.c +164 -0
  257. data/pkgs/tile-0.8.2/win/nmakehlp.c +483 -0
  258. data/pkgs/tile-0.8.2/win/rules.vc +512 -0
  259. data/pkgs/tile-0.8.2/win/tile.rc +40 -0
  260. data/pkgs/tile-0.8.2/win/winTheme.c +734 -0
  261. data/pkgs/tile-0.8.2/win/xpTheme.c +1029 -0
  262. data/spec/app_spec.rb +48 -0
  263. data/spec/customer_spec.rb +31 -0
  264. data/spec/fixtures/graph.expectation +18 -0
  265. data/spec/payment_spec.rb +19 -0
  266. data/spec/pratt_spec.rb +148 -0
  267. data/spec/project_spec.rb +163 -0
  268. data/spec/rcov.opts +0 -0
  269. data/spec/spec.opts +1 -0
  270. data/spec/spec_helper.rb +21 -0
  271. data/spec/whence_spec.rb +54 -0
  272. data/tasks/pratt.rb +84 -0
  273. data/templates/model.eruby +12 -0
  274. data/templates/spec.eruby +8 -0
  275. data/views/env.rb +22 -0
  276. data/views/graph.eruby +20 -0
  277. data/views/invoice.eruby +148 -0
  278. data/views/main.rb +92 -0
  279. data/views/pid.eruby +3 -0
  280. data/views/pop.rb +94 -0
  281. data/views/pop2.rb +75 -0
  282. data/views/raw.eruby +11 -0
  283. metadata +390 -0
@@ -0,0 +1,3 @@
1
+ pid <%= cpid.cyan %> found running
2
+ expect <%= app.pid.to_s.magenta %> <%= ('-'.or '·')*20 %> <%= '|'.or '⌈' %><%= daemonized? ? 'OK'.green : 'Oops'.red %><%= '|'.or '⌋' %>
3
+
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/ruby
2
+ require 'tk'
3
+ require 'tkextlib/tile'
4
+ require 'optparse'
5
+ require 'ostruct'
6
+
7
+ opts = OpenStruct.new
8
+ opts.env = :development
9
+ opts.project_name = ''
10
+ opts.start_time = ''
11
+ opts.project_time = ''
12
+
13
+ ARGV.options do |opt|
14
+ opt.on('-e', '--environment ENVIRON', String, "Environment to run under.") do |env|
15
+ opts.env = env
16
+ end
17
+ opt.on('-p', '--project PROJECT', String, "Set the current task.") do |proj|
18
+ opts.project_name = proj
19
+ end
20
+ opt.on('-s', '--start START_TIME', String, "Set the current task.") do |time|
21
+ opts.start_time = time
22
+ end
23
+ opt.on('-t', '--project_time PROJECT_TIME', String, "Set the current task.") do |time|
24
+ opts.project_time = time
25
+ end
26
+ opt.parse!
27
+ end
28
+
29
+ yes = proc {
30
+ c = fork { system("ruby bin/pratt.rb --restart '#{opts.project_name}' --unlock") }
31
+ Process.detach(c)
32
+ exit
33
+ }
34
+ adjust = proc {
35
+ c = fork { system("ruby bin/pratt.rb --end '#{opts.project_name}' --unlock --gui") }
36
+ Process.detach(c)
37
+ exit
38
+ }
39
+ ignore = proc {
40
+ Process.detach(
41
+ fork { system("ruby bin/pratt.rb --unlock") }
42
+ )
43
+ exit
44
+ }
45
+
46
+ root = TkRoot.new { title "Pratt Reminder" }
47
+
48
+ frm = Tk::Tile::Frame.new(root) { padding "5 5 5 5" }
49
+ top_frm = Tk::Tile::Frame.new(frm) { padding "5 5 5 5" }
50
+
51
+ Tk::Tile::Label.new(top_frm) do
52
+ text "Have you been working on: "
53
+ end.pack(:side => 'top', :fill => 'y')
54
+
55
+ Tk::Tile::Label.new(top_frm) do
56
+ text opts.project_name
57
+ end.pack(:side => 'top', :fill => 'y')
58
+
59
+ Tk::Tile::Label.new(top_frm) do
60
+ text "started:
61
+ #{opts.start_time}
62
+ total time:
63
+ #{opts.project_time.gsub(/\e\[[0-9]+m/, '')}."
64
+ end.pack(:side => 'bottom', :fill => 'y')
65
+
66
+ botm_frm = Tk::Tile::Frame.new(frm) { padding "5 5 5 5" }
67
+ TkButton.new(botm_frm) do
68
+ text "Yes"
69
+ command yes
70
+ underline 0
71
+ end.pack('side' => 'left', :fill => 'y')
72
+ root.bind("Alt-y", yes)
73
+ #root.bind("Return", yes)
74
+
75
+ TkButton.new(botm_frm) do
76
+ text "Ignore"
77
+ command ignore
78
+ underline 0
79
+ end.pack('side' => 'right', :fill => 'y')
80
+ root.bind("Alt-i", ignore)
81
+ root.bind("Escape", ignore)
82
+
83
+ TkButton.new(botm_frm) do
84
+ text "Adjust"
85
+ command adjust
86
+ underline 0
87
+ end.pack('side' => 'right', :fill => 'y')
88
+ root.bind("Alt-a", adjust)
89
+
90
+ top_frm.pack( :side => 'top', :fill => 'y')
91
+ botm_frm.pack(:side => 'bottom', :fill => 'y')
92
+ frm.pack( :side => 'top', :fill => 'y')
93
+
94
+ Tk.mainloop
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/ruby
2
+ require 'tk'
3
+ require 'tkextlib/tile'
4
+ require 'optparse'
5
+ require 'ostruct'
6
+
7
+ $project = self.project
8
+
9
+ cleanup = proc {
10
+ self.unlock
11
+ exit
12
+ }
13
+ yes = proc {
14
+ self.when_to = Time.now
15
+ self.restart
16
+ cleanup.call
17
+ }
18
+ adjust = proc {
19
+ self.when_to = Time.now
20
+ self.end
21
+ self.unlock
22
+ self.gui
23
+ # TODO: Clean up the slop
24
+ cleanup.call
25
+ }
26
+
27
+ root = TkRoot.new { title "Pratt Reminder" }
28
+
29
+ frm = Tk::Tile::Frame.new(root) { padding "5 5 5 5" }
30
+ top_frm = Tk::Tile::Frame.new(frm) { padding "5 5 5 5" }
31
+
32
+ Tk::Tile::Label.new(top_frm) do
33
+ text "Have you been working on: "
34
+ end.pack(:side => 'top', :fill => 'y')
35
+
36
+ Tk::Tile::Label.new(top_frm) do
37
+ text $project.name
38
+ end.pack(:side => 'top', :fill => 'y')
39
+
40
+ Tk::Tile::Label.new(top_frm) do
41
+ text "started:
42
+ #{$project.whences.last_unended.start_at}
43
+ total time:
44
+ #{Pratt.totals($project.time_spent)}."
45
+ end.pack(:side => 'bottom', :fill => 'y')
46
+
47
+ botm_frm = Tk::Tile::Frame.new(frm) { padding "5 5 5 5" }
48
+ TkButton.new(botm_frm) do
49
+ text "Yes"
50
+ command yes
51
+ underline 0
52
+ end.pack('side' => 'left', :fill => 'y')
53
+ root.bind("Alt-y", yes)
54
+ #root.bind("Return", yes)
55
+
56
+ TkButton.new(botm_frm) do
57
+ text "Ignore"
58
+ command cleanup
59
+ underline 0
60
+ end.pack('side' => 'right', :fill => 'y')
61
+ root.bind("Alt-i", cleanup)
62
+ root.bind("Escape", cleanup)
63
+
64
+ TkButton.new(botm_frm) do
65
+ text "Adjust"
66
+ command adjust
67
+ underline 0
68
+ end.pack('side' => 'right', :fill => 'y')
69
+ root.bind("Alt-a", adjust)
70
+
71
+ top_frm.pack( :side => 'top', :fill => 'y')
72
+ botm_frm.pack(:side => 'bottom', :fill => 'y')
73
+ frm.pack( :side => 'top', :fill => 'y')
74
+
75
+ Tk.mainloop
@@ -0,0 +1,11 @@
1
+ <% colors = %w(red red_on_yellow red_on_white green green_on_blue yellow yellow_on_blue blue magenta magenta_on_blue cyan white white_on_green white_on_blue white_on_magenta black_on_yellow black_on_blue black_on_green black_on_magenta black_on_cyan black_on_red).sort
2
+ @whences.each do |whence|
3
+ color = colors[whence.project.id%colors.size]
4
+ %>
5
+ <%= padded_to_max(whence.project.name) %> <%= '|'.or '⌈' %><%= whence.start_at.strftime(Pratt::FMT).send(color) -%>
6
+ <% if whence.end_at -%>
7
+ <%= '-'.or '­' %> <%= whence.end_at.strftime(Pratt::FMT).send(color) %><%= '|'.or '⌋' %> <%= "%6.2f"% [(whence.end_at-whence.start_at)/60] %> min
8
+ <% else %>
9
+ ...
10
+ <% end %>
11
+ <% end %>
metadata ADDED
@@ -0,0 +1,390 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: Pratt
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.5.6
5
+ platform: ruby
6
+ authors:
7
+ - Scott Noel-Hemming
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-19 00:00:00 -07:00
13
+ default_executable: pratt.rb
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.2.6
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: mocha
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.9.5
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: activerecord
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.1.1
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: sqlite3-ruby
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.2.4
54
+ version:
55
+ description: "\n\
56
+ \t Need a way to keep track of your time, but get caught up in work? Or constant interruptions?\n\
57
+ \t Yeah you know who I'm talking about. Those people from the [abc] department always \"NEEDING xyz FEATURE NOW!!!\".\n\
58
+ \t Seriously though. I'm usually just loose track of time. I wanted an app that I could start with a task I think \n\
59
+ \t I'll be working on, but that get's in my face constantly to ensure I'm still working on it. And if I'm not any longer,\n\
60
+ \t provides an easy way of changing to another task, or if I have changed tasks and not already updated the app, would \n\
61
+ \t provide an easy way of changing the task of the previously recorded interval. That's what this is intended to do.\n\n\
62
+ \t Time Tracking.\n\
63
+ \t Proactively set what you expect to work on.\n\
64
+ \t Reactively modify what you are no longer working on.\n "
65
+ email: frogstarr78@gmail.com
66
+ executables:
67
+ - pratt.rb
68
+ extensions: []
69
+
70
+ extra_rdoc_files:
71
+ - README.txt
72
+ files:
73
+ - .exrc
74
+ - .gitignore
75
+ - History.txt
76
+ - Manifest.txt
77
+ - Pratt.gemspec
78
+ - README.txt
79
+ - Rakefile
80
+ - TODO
81
+ - VERSION
82
+ - bin/pratt.rb
83
+ - config.rb
84
+ - lib/pratt.rb
85
+ - lib/pratt/array.rb
86
+ - lib/pratt/string.rb
87
+ - models/app.rb
88
+ - models/customer.rb
89
+ - models/payment.rb
90
+ - models/pratt.rb
91
+ - models/project.rb
92
+ - models/whence.rb
93
+ - pkgs/tile-0.8.2.tar.gz
94
+ - pkgs/tile-0.8.2/ANNOUNCE.txt
95
+ - pkgs/tile-0.8.2/ChangeLog
96
+ - pkgs/tile-0.8.2/Makefile
97
+ - pkgs/tile-0.8.2/Makefile.in
98
+ - pkgs/tile-0.8.2/README.txt
99
+ - pkgs/tile-0.8.2/aclocal.m4
100
+ - pkgs/tile-0.8.2/altTheme.o
101
+ - pkgs/tile-0.8.2/blink.o
102
+ - pkgs/tile-0.8.2/button.o
103
+ - pkgs/tile-0.8.2/cache.o
104
+ - pkgs/tile-0.8.2/clamTheme.o
105
+ - pkgs/tile-0.8.2/classicTheme.o
106
+ - pkgs/tile-0.8.2/config.log
107
+ - pkgs/tile-0.8.2/config.status
108
+ - pkgs/tile-0.8.2/configure
109
+ - pkgs/tile-0.8.2/configure.in
110
+ - pkgs/tile-0.8.2/demos/autocomplete.tcl
111
+ - pkgs/tile-0.8.2/demos/demo.tcl
112
+ - pkgs/tile-0.8.2/demos/dirbrowser.tcl
113
+ - pkgs/tile-0.8.2/demos/dlgtest.tcl
114
+ - pkgs/tile-0.8.2/demos/iconlib.tcl
115
+ - pkgs/tile-0.8.2/demos/repeater.tcl
116
+ - pkgs/tile-0.8.2/demos/toolbutton.tcl
117
+ - pkgs/tile-0.8.2/doc/Geometry.3
118
+ - pkgs/tile-0.8.2/doc/INDEX.MAP
119
+ - pkgs/tile-0.8.2/doc/Makefile
120
+ - pkgs/tile-0.8.2/doc/TILE.XML
121
+ - pkgs/tile-0.8.2/doc/Theme.3
122
+ - pkgs/tile-0.8.2/doc/button.n
123
+ - pkgs/tile-0.8.2/doc/checkbutton.n
124
+ - pkgs/tile-0.8.2/doc/combobox.n
125
+ - pkgs/tile-0.8.2/doc/converting.txt
126
+ - pkgs/tile-0.8.2/doc/dialog.n
127
+ - pkgs/tile-0.8.2/doc/entry.n
128
+ - pkgs/tile-0.8.2/doc/frame.n
129
+ - pkgs/tile-0.8.2/doc/html/Geometry.html
130
+ - pkgs/tile-0.8.2/doc/html/Theme.html
131
+ - pkgs/tile-0.8.2/doc/html/button.html
132
+ - pkgs/tile-0.8.2/doc/html/category-index.html
133
+ - pkgs/tile-0.8.2/doc/html/checkbutton.html
134
+ - pkgs/tile-0.8.2/doc/html/combobox.html
135
+ - pkgs/tile-0.8.2/doc/html/converting.txt
136
+ - pkgs/tile-0.8.2/doc/html/dialog.html
137
+ - pkgs/tile-0.8.2/doc/html/entry.html
138
+ - pkgs/tile-0.8.2/doc/html/frame.html
139
+ - pkgs/tile-0.8.2/doc/html/image.html
140
+ - pkgs/tile-0.8.2/doc/html/index.html
141
+ - pkgs/tile-0.8.2/doc/html/keyword-index.html
142
+ - pkgs/tile-0.8.2/doc/html/label.html
143
+ - pkgs/tile-0.8.2/doc/html/labelframe.html
144
+ - pkgs/tile-0.8.2/doc/html/manpage.css
145
+ - pkgs/tile-0.8.2/doc/html/menubutton.html
146
+ - pkgs/tile-0.8.2/doc/html/notebook.html
147
+ - pkgs/tile-0.8.2/doc/html/paned.html
148
+ - pkgs/tile-0.8.2/doc/html/progressbar.html
149
+ - pkgs/tile-0.8.2/doc/html/radiobutton.html
150
+ - pkgs/tile-0.8.2/doc/html/scrollbar.html
151
+ - pkgs/tile-0.8.2/doc/html/separator.html
152
+ - pkgs/tile-0.8.2/doc/html/sizegrip.html
153
+ - pkgs/tile-0.8.2/doc/html/style.html
154
+ - pkgs/tile-0.8.2/doc/html/tile-intro.html
155
+ - pkgs/tile-0.8.2/doc/html/treeview.html
156
+ - pkgs/tile-0.8.2/doc/html/widget.html
157
+ - pkgs/tile-0.8.2/doc/image.n
158
+ - pkgs/tile-0.8.2/doc/internals.txt
159
+ - pkgs/tile-0.8.2/doc/label.n
160
+ - pkgs/tile-0.8.2/doc/labelframe.n
161
+ - pkgs/tile-0.8.2/doc/man.macros
162
+ - pkgs/tile-0.8.2/doc/menubutton.n
163
+ - pkgs/tile-0.8.2/doc/notebook.n
164
+ - pkgs/tile-0.8.2/doc/paned.n
165
+ - pkgs/tile-0.8.2/doc/progressbar.n
166
+ - pkgs/tile-0.8.2/doc/radiobutton.n
167
+ - pkgs/tile-0.8.2/doc/scrollbar.n
168
+ - pkgs/tile-0.8.2/doc/separator.n
169
+ - pkgs/tile-0.8.2/doc/sizegrip.n
170
+ - pkgs/tile-0.8.2/doc/style.n
171
+ - pkgs/tile-0.8.2/doc/tile-intro.n
172
+ - pkgs/tile-0.8.2/doc/tmml.options
173
+ - pkgs/tile-0.8.2/doc/treeview.n
174
+ - pkgs/tile-0.8.2/doc/widget.n
175
+ - pkgs/tile-0.8.2/doc/xml/Geometry.tmml
176
+ - pkgs/tile-0.8.2/doc/xml/INDEX.MAP
177
+ - pkgs/tile-0.8.2/doc/xml/Theme.tmml
178
+ - pkgs/tile-0.8.2/doc/xml/button.tmml
179
+ - pkgs/tile-0.8.2/doc/xml/checkbutton.tmml
180
+ - pkgs/tile-0.8.2/doc/xml/combobox.tmml
181
+ - pkgs/tile-0.8.2/doc/xml/dialog.tmml
182
+ - pkgs/tile-0.8.2/doc/xml/entry.tmml
183
+ - pkgs/tile-0.8.2/doc/xml/frame.tmml
184
+ - pkgs/tile-0.8.2/doc/xml/image.tmml
185
+ - pkgs/tile-0.8.2/doc/xml/label.tmml
186
+ - pkgs/tile-0.8.2/doc/xml/labelframe.tmml
187
+ - pkgs/tile-0.8.2/doc/xml/menubutton.tmml
188
+ - pkgs/tile-0.8.2/doc/xml/notebook.tmml
189
+ - pkgs/tile-0.8.2/doc/xml/paned.tmml
190
+ - pkgs/tile-0.8.2/doc/xml/progressbar.tmml
191
+ - pkgs/tile-0.8.2/doc/xml/radiobutton.tmml
192
+ - pkgs/tile-0.8.2/doc/xml/scrollbar.tmml
193
+ - pkgs/tile-0.8.2/doc/xml/separator.tmml
194
+ - pkgs/tile-0.8.2/doc/xml/sizegrip.tmml
195
+ - pkgs/tile-0.8.2/doc/xml/style.tmml
196
+ - pkgs/tile-0.8.2/doc/xml/tile-intro.tmml
197
+ - pkgs/tile-0.8.2/doc/xml/treeview.tmml
198
+ - pkgs/tile-0.8.2/doc/xml/widget.tmml
199
+ - pkgs/tile-0.8.2/entry.o
200
+ - pkgs/tile-0.8.2/frame.o
201
+ - pkgs/tile-0.8.2/generic/Makefile.in
202
+ - pkgs/tile-0.8.2/generic/TODO
203
+ - pkgs/tile-0.8.2/generic/altTheme.c
204
+ - pkgs/tile-0.8.2/generic/blink.c
205
+ - pkgs/tile-0.8.2/generic/button.c
206
+ - pkgs/tile-0.8.2/generic/cache.c
207
+ - pkgs/tile-0.8.2/generic/clamTheme.c
208
+ - pkgs/tile-0.8.2/generic/classicTheme.c
209
+ - pkgs/tile-0.8.2/generic/configure
210
+ - pkgs/tile-0.8.2/generic/configure.in
211
+ - pkgs/tile-0.8.2/generic/entry.c
212
+ - pkgs/tile-0.8.2/generic/frame.c
213
+ - pkgs/tile-0.8.2/generic/gunk.h
214
+ - pkgs/tile-0.8.2/generic/image.c
215
+ - pkgs/tile-0.8.2/generic/label.c
216
+ - pkgs/tile-0.8.2/generic/layout.c
217
+ - pkgs/tile-0.8.2/generic/manager.c
218
+ - pkgs/tile-0.8.2/generic/manager.h
219
+ - pkgs/tile-0.8.2/generic/notebook.c
220
+ - pkgs/tile-0.8.2/generic/paned.c
221
+ - pkgs/tile-0.8.2/generic/pkgIndex.tcl.in
222
+ - pkgs/tile-0.8.2/generic/progress.c
223
+ - pkgs/tile-0.8.2/generic/scale.c
224
+ - pkgs/tile-0.8.2/generic/scroll.c
225
+ - pkgs/tile-0.8.2/generic/scrollbar.c
226
+ - pkgs/tile-0.8.2/generic/separator.c
227
+ - pkgs/tile-0.8.2/generic/square.c
228
+ - pkgs/tile-0.8.2/generic/tagset.c
229
+ - pkgs/tile-0.8.2/generic/tile.c
230
+ - pkgs/tile-0.8.2/generic/tkElements.c
231
+ - pkgs/tile-0.8.2/generic/tkTheme.c
232
+ - pkgs/tile-0.8.2/generic/tkTheme.h
233
+ - pkgs/tile-0.8.2/generic/tkThemeInt.h
234
+ - pkgs/tile-0.8.2/generic/tkstate.c
235
+ - pkgs/tile-0.8.2/generic/trace.c
236
+ - pkgs/tile-0.8.2/generic/track.c
237
+ - pkgs/tile-0.8.2/generic/treeview.c
238
+ - pkgs/tile-0.8.2/generic/ttk.decls
239
+ - pkgs/tile-0.8.2/generic/ttkDecls.h
240
+ - pkgs/tile-0.8.2/generic/ttkStubInit.c
241
+ - pkgs/tile-0.8.2/generic/ttkStubLib.c
242
+ - pkgs/tile-0.8.2/generic/widget.c
243
+ - pkgs/tile-0.8.2/generic/widget.h
244
+ - pkgs/tile-0.8.2/image.o
245
+ - pkgs/tile-0.8.2/label.o
246
+ - pkgs/tile-0.8.2/layout.o
247
+ - pkgs/tile-0.8.2/library/altTheme.tcl
248
+ - pkgs/tile-0.8.2/library/aquaTheme.tcl
249
+ - pkgs/tile-0.8.2/library/button.tcl
250
+ - pkgs/tile-0.8.2/library/clamTheme.tcl
251
+ - pkgs/tile-0.8.2/library/classicTheme.tcl
252
+ - pkgs/tile-0.8.2/library/combobox.tcl
253
+ - pkgs/tile-0.8.2/library/cursors.tcl
254
+ - pkgs/tile-0.8.2/library/defaults.tcl
255
+ - pkgs/tile-0.8.2/library/dialog.tcl
256
+ - pkgs/tile-0.8.2/library/entry.tcl
257
+ - pkgs/tile-0.8.2/library/fonts.tcl
258
+ - pkgs/tile-0.8.2/library/icons.tcl
259
+ - pkgs/tile-0.8.2/library/keynav.tcl
260
+ - pkgs/tile-0.8.2/library/menubutton.tcl
261
+ - pkgs/tile-0.8.2/library/notebook.tcl
262
+ - pkgs/tile-0.8.2/library/paned.tcl
263
+ - pkgs/tile-0.8.2/library/progress.tcl
264
+ - pkgs/tile-0.8.2/library/scale.tcl
265
+ - pkgs/tile-0.8.2/library/scrollbar.tcl
266
+ - pkgs/tile-0.8.2/library/sizegrip.tcl
267
+ - pkgs/tile-0.8.2/library/tile.tcl
268
+ - pkgs/tile-0.8.2/library/treeview.tcl
269
+ - pkgs/tile-0.8.2/library/utils.tcl
270
+ - pkgs/tile-0.8.2/library/winTheme.tcl
271
+ - pkgs/tile-0.8.2/library/xpTheme.tcl
272
+ - pkgs/tile-0.8.2/libtile0.8.2.so
273
+ - pkgs/tile-0.8.2/libttkstub.a
274
+ - pkgs/tile-0.8.2/license.terms
275
+ - pkgs/tile-0.8.2/macosx/aquaTheme.c
276
+ - pkgs/tile-0.8.2/manager.o
277
+ - pkgs/tile-0.8.2/notebook.o
278
+ - pkgs/tile-0.8.2/paned.o
279
+ - pkgs/tile-0.8.2/pkgIndex.tcl
280
+ - pkgs/tile-0.8.2/progress.o
281
+ - pkgs/tile-0.8.2/scale.o
282
+ - pkgs/tile-0.8.2/scroll.o
283
+ - pkgs/tile-0.8.2/scrollbar.o
284
+ - pkgs/tile-0.8.2/separator.o
285
+ - pkgs/tile-0.8.2/tagset.o
286
+ - pkgs/tile-0.8.2/tclconfig/install-sh
287
+ - pkgs/tile-0.8.2/tclconfig/tcl.m4
288
+ - pkgs/tile-0.8.2/tclconfig/teax.m4
289
+ - pkgs/tile-0.8.2/tests/all.tcl
290
+ - pkgs/tile-0.8.2/tests/bwidget.test
291
+ - pkgs/tile-0.8.2/tests/cbtest.tcl
292
+ - pkgs/tile-0.8.2/tests/combobox.test
293
+ - pkgs/tile-0.8.2/tests/compound.tcl
294
+ - pkgs/tile-0.8.2/tests/entry.test
295
+ - pkgs/tile-0.8.2/tests/entrytest.tcl
296
+ - pkgs/tile-0.8.2/tests/image.test
297
+ - pkgs/tile-0.8.2/tests/labelframe.tcl
298
+ - pkgs/tile-0.8.2/tests/labelframe.test
299
+ - pkgs/tile-0.8.2/tests/layout.test
300
+ - pkgs/tile-0.8.2/tests/misc.test
301
+ - pkgs/tile-0.8.2/tests/nbtest.tcl
302
+ - pkgs/tile-0.8.2/tests/notebook.test
303
+ - pkgs/tile-0.8.2/tests/paned.test
304
+ - pkgs/tile-0.8.2/tests/progress.test
305
+ - pkgs/tile-0.8.2/tests/pwtest.tcl
306
+ - pkgs/tile-0.8.2/tests/sbtest.tcl
307
+ - pkgs/tile-0.8.2/tests/scrollbar.test
308
+ - pkgs/tile-0.8.2/tests/sgtest.tcl
309
+ - pkgs/tile-0.8.2/tests/testutils.tcl
310
+ - pkgs/tile-0.8.2/tests/tile.test
311
+ - pkgs/tile-0.8.2/tests/treetags.test
312
+ - pkgs/tile-0.8.2/tests/treeview.test
313
+ - pkgs/tile-0.8.2/tests/tvtest.tcl
314
+ - pkgs/tile-0.8.2/tests/validate.test
315
+ - pkgs/tile-0.8.2/tile.o
316
+ - pkgs/tile-0.8.2/tkElements.o
317
+ - pkgs/tile-0.8.2/tkTheme.o
318
+ - pkgs/tile-0.8.2/tkstate.o
319
+ - pkgs/tile-0.8.2/tools/genStubs.tcl
320
+ - pkgs/tile-0.8.2/trace.o
321
+ - pkgs/tile-0.8.2/track.o
322
+ - pkgs/tile-0.8.2/treeview.o
323
+ - pkgs/tile-0.8.2/ttkStubInit.o
324
+ - pkgs/tile-0.8.2/ttkStubLib.o
325
+ - pkgs/tile-0.8.2/widget.o
326
+ - pkgs/tile-0.8.2/win/Tile.dsp
327
+ - pkgs/tile-0.8.2/win/makefile.vc
328
+ - pkgs/tile-0.8.2/win/monitor.c
329
+ - pkgs/tile-0.8.2/win/nmakehlp.c
330
+ - pkgs/tile-0.8.2/win/rules.vc
331
+ - pkgs/tile-0.8.2/win/tile.rc
332
+ - pkgs/tile-0.8.2/win/winTheme.c
333
+ - pkgs/tile-0.8.2/win/xpTheme.c
334
+ - spec/app_spec.rb
335
+ - spec/customer_spec.rb
336
+ - spec/fixtures/graph.expectation
337
+ - spec/payment_spec.rb
338
+ - spec/pratt_spec.rb
339
+ - spec/project_spec.rb
340
+ - spec/rcov.opts
341
+ - spec/spec.opts
342
+ - spec/spec_helper.rb
343
+ - spec/whence_spec.rb
344
+ - tasks/pratt.rb
345
+ - templates/model.eruby
346
+ - templates/spec.eruby
347
+ - views/env.rb
348
+ - views/graph.eruby
349
+ - views/invoice.eruby
350
+ - views/main.rb
351
+ - views/pid.eruby
352
+ - views/pop.rb
353
+ - views/pop2.rb
354
+ - views/raw.eruby
355
+ has_rdoc: true
356
+ homepage: http://github.com/frogstarr78/pratt
357
+ licenses: []
358
+
359
+ post_install_message:
360
+ rdoc_options:
361
+ - --charset=UTF-8
362
+ require_paths:
363
+ - lib
364
+ required_ruby_version: !ruby/object:Gem::Requirement
365
+ requirements:
366
+ - - ">="
367
+ - !ruby/object:Gem::Version
368
+ version: "0"
369
+ version:
370
+ required_rubygems_version: !ruby/object:Gem::Requirement
371
+ requirements:
372
+ - - ">="
373
+ - !ruby/object:Gem::Version
374
+ version: "0"
375
+ version:
376
+ requirements: []
377
+
378
+ rubyforge_project:
379
+ rubygems_version: 1.3.5
380
+ signing_key:
381
+ specification_version: 3
382
+ summary: Pro/Re-Active Time Tracker. Track time based on what you expect to be working on, with frequent prompts to ensure accuracy.
383
+ test_files:
384
+ - spec/pratt_spec.rb
385
+ - spec/whence_spec.rb
386
+ - spec/payment_spec.rb
387
+ - spec/app_spec.rb
388
+ - spec/project_spec.rb
389
+ - spec/spec_helper.rb
390
+ - spec/customer_spec.rb