Pratt 1.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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