tournament 1.1.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (264) hide show
  1. data/History.txt +15 -0
  2. data/Manifest.txt +241 -2
  3. data/README.txt +152 -12
  4. data/Rakefile +9 -6
  5. data/bin/benchmark_pool +0 -0
  6. data/bin/gui.rb +3 -1
  7. data/bin/picker +0 -0
  8. data/bin/pool +139 -15
  9. data/lib/tournament/bracket.rb +33 -50
  10. data/lib/tournament/entry.rb +3 -0
  11. data/lib/tournament/pool.rb +144 -93
  12. data/lib/tournament/scoring_strategy.rb +69 -0
  13. data/lib/tournament/webgui_installer.rb +109 -0
  14. data/tasks/ann.rake +19 -14
  15. data/tasks/bones.rake +6 -25
  16. data/tasks/gem.rake +46 -36
  17. data/tasks/git.rake +41 -0
  18. data/tasks/jamis.rb +589 -0
  19. data/tasks/notes.rake +28 -0
  20. data/tasks/post_load.rake +18 -11
  21. data/tasks/{doc.rake → rdoc.rake} +12 -9
  22. data/tasks/rubyforge.rake +12 -12
  23. data/tasks/setup.rb +121 -80
  24. data/tasks/spec.rake +12 -13
  25. data/tasks/svn.rake +15 -11
  26. data/tasks/test.rake +6 -6
  27. data/test/test_tournament.rb +8 -0
  28. data/test/test_webgui_installer.rb +64 -0
  29. data/webgui/README +256 -0
  30. data/webgui/Rakefile +10 -0
  31. data/webgui/app/controllers/admin_controller.rb +61 -0
  32. data/webgui/app/controllers/application.rb +25 -0
  33. data/webgui/app/controllers/entry_controller.rb +97 -0
  34. data/webgui/app/controllers/pool_controller.rb +4 -0
  35. data/webgui/app/controllers/reports_controller.rb +7 -0
  36. data/webgui/app/controllers/sessions_controller.rb +43 -0
  37. data/webgui/app/controllers/teams_controller.rb +75 -0
  38. data/webgui/app/controllers/users_controller.rb +57 -0
  39. data/webgui/app/helpers/admin_helper.rb +2 -0
  40. data/webgui/app/helpers/application_helper.rb +3 -0
  41. data/webgui/app/helpers/entry_helper.rb +2 -0
  42. data/webgui/app/helpers/pool_helper.rb +2 -0
  43. data/webgui/app/helpers/reports_helper.rb +2 -0
  44. data/webgui/app/helpers/sessions_helper.rb +2 -0
  45. data/webgui/app/helpers/teams_helper.rb +2 -0
  46. data/webgui/app/helpers/users_helper.rb +93 -0
  47. data/webgui/app/models/entry.rb +42 -0
  48. data/webgui/app/models/pool.rb +141 -0
  49. data/webgui/app/models/region.rb +3 -0
  50. data/webgui/app/models/role.rb +4 -0
  51. data/webgui/app/models/seeding.rb +4 -0
  52. data/webgui/app/models/team.rb +6 -0
  53. data/webgui/app/models/user.rb +98 -0
  54. data/webgui/app/models/user_mailer.rb +25 -0
  55. data/webgui/app/views/admin/bracket.html.erb +3 -0
  56. data/webgui/app/views/admin/entries.html.erb +25 -0
  57. data/webgui/app/views/admin/index.html.erb +17 -0
  58. data/webgui/app/views/admin/pool.html.erb +53 -0
  59. data/webgui/app/views/entry/index.html.erb +16 -0
  60. data/webgui/app/views/entry/print.erb +1 -0
  61. data/webgui/app/views/entry/print.html.erb +1 -0
  62. data/webgui/app/views/entry/show.html.erb +1 -0
  63. data/webgui/app/views/layouts/bracket.html.erb +37 -0
  64. data/webgui/app/views/layouts/default.html.erb +62 -0
  65. data/webgui/app/views/layouts/print.html.erb +12 -0
  66. data/webgui/app/views/layouts/report.html.erb +38 -0
  67. data/webgui/app/views/pool/index.html.erb +36 -0
  68. data/webgui/app/views/reports/_report.html.erb +11 -0
  69. data/webgui/app/views/reports/show.html.erb +12 -0
  70. data/webgui/app/views/sessions/new.html.erb +21 -0
  71. data/webgui/app/views/shared/_admins.html.erb +8 -0
  72. data/webgui/app/views/shared/_bracket.html.erb +1296 -0
  73. data/webgui/app/views/teams/choose.html.erb +57 -0
  74. data/webgui/app/views/user_mailer/activation.erb +3 -0
  75. data/webgui/app/views/user_mailer/signup_notification.erb +8 -0
  76. data/webgui/app/views/users/_user_bar.html.erb +8 -0
  77. data/webgui/app/views/users/new.html.erb +19 -0
  78. data/webgui/config/boot.rb +109 -0
  79. data/webgui/config/database.yml +22 -0
  80. data/webgui/config/environment.rb +78 -0
  81. data/webgui/config/environments/development.rb +29 -0
  82. data/webgui/config/environments/production.rb +24 -0
  83. data/webgui/config/environments/test.rb +22 -0
  84. data/webgui/config/initializers/inflections.rb +10 -0
  85. data/webgui/config/initializers/mime_types.rb +5 -0
  86. data/webgui/config/initializers/new_rails_defaults.rb +17 -0
  87. data/webgui/config/initializers/pool.rb +33 -0
  88. data/webgui/config/initializers/site_keys.rb +38 -0
  89. data/webgui/config/locales/en.yml +5 -0
  90. data/webgui/config/routes.rb +56 -0
  91. data/webgui/db/development.sqlite3 +0 -0
  92. data/webgui/db/migrate/20090216015836_create_entries.rb +13 -0
  93. data/webgui/db/migrate/20090217001611_add_tie_break_to_entry.rb +9 -0
  94. data/webgui/db/migrate/20090217004039_create_users.rb +23 -0
  95. data/webgui/db/migrate/20090217014940_relate_entry_and_user.rb +10 -0
  96. data/webgui/db/migrate/20090218024350_create_roles.rb +17 -0
  97. data/webgui/db/migrate/20090218024657_add_postition_to_roles.rb +9 -0
  98. data/webgui/db/migrate/20090218025240_add_admin_role.rb +10 -0
  99. data/webgui/db/migrate/20090225022928_create_pools.rb +16 -0
  100. data/webgui/db/migrate/20090225030346_associate_pool_and_entry.rb +9 -0
  101. data/webgui/db/migrate/20090225072358_change_pool_data_column.rb +9 -0
  102. data/webgui/db/migrate/20090225072849_add_completed_to_entries.rb +9 -0
  103. data/webgui/db/migrate/20090225074149_add_pool_id_index_to_entries.rb +9 -0
  104. data/webgui/db/migrate/20090225084414_add_user_id_to_pool.rb +9 -0
  105. data/webgui/db/migrate/20090226021913_add_active_to_pools.rb +9 -0
  106. data/webgui/db/migrate/20090226142240_rename_bracket_column_to_data.rb +9 -0
  107. data/webgui/db/migrate/20090301014710_create_teams.rb +84 -0
  108. data/webgui/db/migrate/20090301025902_add_more_teams.rb +16 -0
  109. data/webgui/db/migrate/20090301041526_create_seedings.rb +16 -0
  110. data/webgui/db/migrate/20090301090511_create_regions.rb +14 -0
  111. data/webgui/db/migrate/teams.txt +347 -0
  112. data/webgui/db/pool.yml +408 -0
  113. data/webgui/db/schema.rb +91 -0
  114. data/webgui/db/test.sqlite3 +0 -0
  115. data/webgui/doc/README_FOR_APP +5 -0
  116. data/webgui/lib/authenticated_system.rb +189 -0
  117. data/webgui/lib/authenticated_test_helper.rb +11 -0
  118. data/webgui/lib/form_object.rb +70 -0
  119. data/webgui/lib/pdf_helper.rb +47 -0
  120. data/webgui/lib/prince.rb +74 -0
  121. data/webgui/lib/saves_picks.rb +23 -0
  122. data/webgui/lib/tasks/admin.rake +10 -0
  123. data/webgui/public/404.html +30 -0
  124. data/webgui/public/422.html +30 -0
  125. data/webgui/public/500.html +33 -0
  126. data/webgui/public/dispatch.cgi +10 -0
  127. data/webgui/public/dispatch.fcgi +24 -0
  128. data/webgui/public/dispatch.rb +10 -0
  129. data/webgui/public/favicon.ico +0 -0
  130. data/webgui/public/images/2009FinalFour.png +0 -0
  131. data/webgui/public/images/rails.png +0 -0
  132. data/webgui/public/javascripts/application.js +2 -0
  133. data/webgui/public/javascripts/bracket.js +73 -0
  134. data/webgui/public/javascripts/controls.js +963 -0
  135. data/webgui/public/javascripts/dragdrop.js +973 -0
  136. data/webgui/public/javascripts/effects.js +1128 -0
  137. data/webgui/public/javascripts/prototype.js +4320 -0
  138. data/webgui/public/robots.txt +5 -0
  139. data/webgui/public/stylesheets/bracket-print.css +39 -0
  140. data/webgui/public/stylesheets/bracket.css +125 -0
  141. data/webgui/public/stylesheets/main.css +144 -0
  142. data/webgui/public/stylesheets/prince.css +6 -0
  143. data/webgui/public/stylesheets/prince_landscape.css +1 -0
  144. data/webgui/script/about +4 -0
  145. data/webgui/script/console +3 -0
  146. data/webgui/script/dbconsole +3 -0
  147. data/webgui/script/destroy +3 -0
  148. data/webgui/script/generate +3 -0
  149. data/webgui/script/performance/benchmarker +3 -0
  150. data/webgui/script/performance/profiler +3 -0
  151. data/webgui/script/performance/request +3 -0
  152. data/webgui/script/plugin +3 -0
  153. data/webgui/script/process/inspector +3 -0
  154. data/webgui/script/process/reaper +3 -0
  155. data/webgui/script/process/spawner +3 -0
  156. data/webgui/script/runner +3 -0
  157. data/webgui/script/server +3 -0
  158. data/webgui/test/fixtures/entries.yml +10 -0
  159. data/webgui/test/fixtures/pools.yml +14 -0
  160. data/webgui/test/fixtures/regions.yml +11 -0
  161. data/webgui/test/fixtures/roles.yml +11 -0
  162. data/webgui/test/fixtures/roles_users.yml +3 -0
  163. data/webgui/test/fixtures/seedings.yml +12 -0
  164. data/webgui/test/fixtures/teams.yml +3051 -0
  165. data/webgui/test/fixtures/users.yml +44 -0
  166. data/webgui/test/functional/admin_controller_test.rb +8 -0
  167. data/webgui/test/functional/entry_controller_test.rb +27 -0
  168. data/webgui/test/functional/pool_controller_test.rb +8 -0
  169. data/webgui/test/functional/reports_controller_test.rb +8 -0
  170. data/webgui/test/functional/sessions_controller_test.rb +82 -0
  171. data/webgui/test/functional/teams_controller_test.rb +216 -0
  172. data/webgui/test/functional/users_controller_test.rb +88 -0
  173. data/webgui/test/performance/browsing_test.rb +9 -0
  174. data/webgui/test/test_helper.rb +38 -0
  175. data/webgui/test/unit/entry_test.rb +8 -0
  176. data/webgui/test/unit/pool_test.rb +8 -0
  177. data/webgui/test/unit/region_test.rb +8 -0
  178. data/webgui/test/unit/role_test.rb +8 -0
  179. data/webgui/test/unit/seeding_test.rb +8 -0
  180. data/webgui/test/unit/team_test.rb +10 -0
  181. data/webgui/test/unit/user_mailer_test.rb +31 -0
  182. data/webgui/test/unit/user_test.rb +109 -0
  183. data/webgui/vendor/plugins/auto_complete/README +23 -0
  184. data/webgui/vendor/plugins/auto_complete/Rakefile +22 -0
  185. data/webgui/vendor/plugins/auto_complete/init.rb +2 -0
  186. data/webgui/vendor/plugins/auto_complete/lib/auto_complete.rb +47 -0
  187. data/webgui/vendor/plugins/auto_complete/lib/auto_complete_macros_helper.rb +143 -0
  188. data/webgui/vendor/plugins/auto_complete/test/auto_complete_test.rb +67 -0
  189. data/webgui/vendor/plugins/enumerations_mixin/ATTENTION +15 -0
  190. data/webgui/vendor/plugins/enumerations_mixin/LICENSE +20 -0
  191. data/webgui/vendor/plugins/enumerations_mixin/README_ENUMERATIONS +163 -0
  192. data/webgui/vendor/plugins/enumerations_mixin/init.rb +21 -0
  193. data/webgui/vendor/plugins/enumerations_mixin/lib/active_record/acts/enumerated.rb +177 -0
  194. data/webgui/vendor/plugins/enumerations_mixin/lib/active_record/aggregations/has_enumerated.rb +60 -0
  195. data/webgui/vendor/plugins/enumerations_mixin/lib/active_record/virtual_enumerations.rb +68 -0
  196. data/webgui/vendor/plugins/enumerations_mixin/virtual_enumerations_sample.rb +76 -0
  197. data/webgui/vendor/plugins/restful_authentication/.gitignore +21 -0
  198. data/webgui/vendor/plugins/restful_authentication/CHANGELOG +68 -0
  199. data/webgui/vendor/plugins/restful_authentication/README.textile +224 -0
  200. data/webgui/vendor/plugins/restful_authentication/Rakefile +32 -0
  201. data/webgui/vendor/plugins/restful_authentication/TODO +15 -0
  202. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/USAGE +1 -0
  203. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/authenticated_generator.rb +478 -0
  204. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/lib/insert_routes.rb +54 -0
  205. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/_model_partial.html.erb +8 -0
  206. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/activation.erb +3 -0
  207. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/authenticated_system.rb +189 -0
  208. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/authenticated_test_helper.rb +22 -0
  209. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/controller.rb +43 -0
  210. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/helper.rb +2 -0
  211. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/login.html.erb +16 -0
  212. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/mailer.rb +25 -0
  213. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/migration.rb +26 -0
  214. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/model.rb +83 -0
  215. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/model_controller.rb +85 -0
  216. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/model_helper.rb +93 -0
  217. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/model_helper_spec.rb +158 -0
  218. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/observer.rb +11 -0
  219. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/signup.html.erb +19 -0
  220. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/signup_notification.erb +8 -0
  221. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/site_keys.rb +38 -0
  222. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/controllers/access_control_spec.rb +90 -0
  223. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/controllers/authenticated_system_spec.rb +102 -0
  224. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/controllers/sessions_controller_spec.rb +139 -0
  225. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/controllers/users_controller_spec.rb +198 -0
  226. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/fixtures/users.yml +60 -0
  227. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/helpers/users_helper_spec.rb +141 -0
  228. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/models/user_spec.rb +290 -0
  229. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/rest_auth_stories.rb +22 -0
  230. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/rest_auth_stories_helper.rb +81 -0
  231. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/steps/ra_navigation_steps.rb +49 -0
  232. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/steps/ra_resource_steps.rb +179 -0
  233. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/steps/ra_response_steps.rb +171 -0
  234. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/steps/user_steps.rb +153 -0
  235. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/users/accounts.story +186 -0
  236. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/users/sessions.story +134 -0
  237. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/test/functional_test.rb +82 -0
  238. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/test/mailer_test.rb +31 -0
  239. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/test/model_functional_test.rb +93 -0
  240. data/webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/test/unit_test.rb +164 -0
  241. data/webgui/vendor/plugins/restful_authentication/init.rb +1 -0
  242. data/webgui/vendor/plugins/restful_authentication/install.rb +1 -0
  243. data/webgui/vendor/plugins/restful_authentication/lib/authentication/by_cookie_token.rb +82 -0
  244. data/webgui/vendor/plugins/restful_authentication/lib/authentication/by_password.rb +64 -0
  245. data/webgui/vendor/plugins/restful_authentication/lib/authentication.rb +40 -0
  246. data/webgui/vendor/plugins/restful_authentication/lib/authorization/aasm_roles.rb +63 -0
  247. data/webgui/vendor/plugins/restful_authentication/lib/authorization/stateful_roles.rb +62 -0
  248. data/webgui/vendor/plugins/restful_authentication/lib/authorization.rb +14 -0
  249. data/webgui/vendor/plugins/restful_authentication/lib/trustification/email_validation.rb +20 -0
  250. data/webgui/vendor/plugins/restful_authentication/lib/trustification.rb +14 -0
  251. data/webgui/vendor/plugins/restful_authentication/notes/AccessControl.txt +2 -0
  252. data/webgui/vendor/plugins/restful_authentication/notes/Authentication.txt +5 -0
  253. data/webgui/vendor/plugins/restful_authentication/notes/Authorization.txt +154 -0
  254. data/webgui/vendor/plugins/restful_authentication/notes/RailsPlugins.txt +78 -0
  255. data/webgui/vendor/plugins/restful_authentication/notes/SecurityFramework.graffle +0 -0
  256. data/webgui/vendor/plugins/restful_authentication/notes/SecurityFramework.png +0 -0
  257. data/webgui/vendor/plugins/restful_authentication/notes/SecurityPatterns.txt +163 -0
  258. data/webgui/vendor/plugins/restful_authentication/notes/Tradeoffs.txt +126 -0
  259. data/webgui/vendor/plugins/restful_authentication/notes/Trustification.txt +49 -0
  260. data/webgui/vendor/plugins/restful_authentication/rails/init.rb +3 -0
  261. data/webgui/vendor/plugins/restful_authentication/restful-authentication.gemspec +33 -0
  262. data/webgui/vendor/plugins/restful_authentication/tasks/auth.rake +33 -0
  263. metadata +288 -8
  264. data/tasks/annotations.rake +0 -22
data/History.txt CHANGED
@@ -1,3 +1,18 @@
1
+ == 2.0.0 / 2009-02-XX
2
+ * Release Rails GUI for self-service entries and admin
3
+ * Make reports account for tournament tie breaker.
4
+ * YAML format change from version 1.X. Old pool data won't work
5
+ with this version.
6
+ * Added Josh Pasternak scoring strategy. Correct picks are worth
7
+ the winning team seed number * a per round multiplier. See
8
+ http://blogs.tnr.com/tnr/blogs/the_plank/archive/2008/03/27/ncaa-pool-scoring-system-rant.aspx
9
+ for details.
10
+ * Many library improvements and refactorings.
11
+ * 2.0.1 release with final 2009 NCAA tournament seedings forthcoming
12
+
13
+ == 1.1.1 / 2008-07-07
14
+ * Update rake tasks to bones-2.0.2
15
+
1
16
  == 1.1.0 / 2008-03-29
2
17
 
3
18
  * Add ability to configure entry fee and payout amounts
data/Manifest.txt CHANGED
@@ -10,20 +10,259 @@ lib/tournament.rb
10
10
  lib/tournament/bracket.rb
11
11
  lib/tournament/entry.rb
12
12
  lib/tournament/pool.rb
13
+ lib/tournament/scoring_strategy.rb
13
14
  lib/tournament/team.rb
15
+ lib/tournament/webgui_installer.rb
14
16
  spec/spec_helper.rb
15
17
  spec/tournament_spec.rb
16
18
  static/shoes-icon.png
17
19
  tasks/ann.rake
18
- tasks/annotations.rake
19
20
  tasks/bones.rake
20
- tasks/doc.rake
21
21
  tasks/gem.rake
22
+ tasks/git.rake
23
+ tasks/jamis.rb
22
24
  tasks/manifest.rake
25
+ tasks/notes.rake
23
26
  tasks/post_load.rake
27
+ tasks/rdoc.rake
24
28
  tasks/rubyforge.rake
25
29
  tasks/setup.rb
26
30
  tasks/spec.rake
27
31
  tasks/svn.rake
28
32
  tasks/test.rake
29
33
  test/test_tournament.rb
34
+ test/test_webgui_installer.rb
35
+ webgui/README
36
+ webgui/Rakefile
37
+ webgui/app/controllers/admin_controller.rb
38
+ webgui/app/controllers/application.rb
39
+ webgui/app/controllers/entry_controller.rb
40
+ webgui/app/controllers/pool_controller.rb
41
+ webgui/app/controllers/reports_controller.rb
42
+ webgui/app/controllers/sessions_controller.rb
43
+ webgui/app/controllers/teams_controller.rb
44
+ webgui/app/controllers/users_controller.rb
45
+ webgui/app/helpers/admin_helper.rb
46
+ webgui/app/helpers/application_helper.rb
47
+ webgui/app/helpers/entry_helper.rb
48
+ webgui/app/helpers/pool_helper.rb
49
+ webgui/app/helpers/reports_helper.rb
50
+ webgui/app/helpers/sessions_helper.rb
51
+ webgui/app/helpers/teams_helper.rb
52
+ webgui/app/helpers/users_helper.rb
53
+ webgui/app/models/entry.rb
54
+ webgui/app/models/pool.rb
55
+ webgui/app/models/region.rb
56
+ webgui/app/models/role.rb
57
+ webgui/app/models/seeding.rb
58
+ webgui/app/models/team.rb
59
+ webgui/app/models/user.rb
60
+ webgui/app/models/user_mailer.rb
61
+ webgui/app/views/admin/bracket.html.erb
62
+ webgui/app/views/admin/entries.html.erb
63
+ webgui/app/views/admin/index.html.erb
64
+ webgui/app/views/admin/pool.html.erb
65
+ webgui/app/views/entry/index.html.erb
66
+ webgui/app/views/entry/print.erb
67
+ webgui/app/views/entry/print.html.erb
68
+ webgui/app/views/entry/show.html.erb
69
+ webgui/app/views/layouts/bracket.html.erb
70
+ webgui/app/views/layouts/default.html.erb
71
+ webgui/app/views/layouts/print.html.erb
72
+ webgui/app/views/layouts/report.html.erb
73
+ webgui/app/views/pool/index.html.erb
74
+ webgui/app/views/reports/_report.html.erb
75
+ webgui/app/views/reports/show.html.erb
76
+ webgui/app/views/sessions/new.html.erb
77
+ webgui/app/views/shared/_admins.html.erb
78
+ webgui/app/views/shared/_bracket.html.erb
79
+ webgui/app/views/teams/choose.html.erb
80
+ webgui/app/views/user_mailer/activation.erb
81
+ webgui/app/views/user_mailer/signup_notification.erb
82
+ webgui/app/views/users/_user_bar.html.erb
83
+ webgui/app/views/users/new.html.erb
84
+ webgui/config/boot.rb
85
+ webgui/config/database.yml
86
+ webgui/config/environment.rb
87
+ webgui/config/environments/development.rb
88
+ webgui/config/environments/production.rb
89
+ webgui/config/environments/test.rb
90
+ webgui/config/initializers/inflections.rb
91
+ webgui/config/initializers/mime_types.rb
92
+ webgui/config/initializers/new_rails_defaults.rb
93
+ webgui/config/initializers/pool.rb
94
+ webgui/config/initializers/site_keys.rb
95
+ webgui/config/locales/en.yml
96
+ webgui/config/routes.rb
97
+ webgui/db/development.sqlite3
98
+ webgui/db/migrate/20090216015836_create_entries.rb
99
+ webgui/db/migrate/20090217001611_add_tie_break_to_entry.rb
100
+ webgui/db/migrate/20090217004039_create_users.rb
101
+ webgui/db/migrate/20090217014940_relate_entry_and_user.rb
102
+ webgui/db/migrate/20090218024350_create_roles.rb
103
+ webgui/db/migrate/20090218024657_add_postition_to_roles.rb
104
+ webgui/db/migrate/20090218025240_add_admin_role.rb
105
+ webgui/db/migrate/20090225022928_create_pools.rb
106
+ webgui/db/migrate/20090225030346_associate_pool_and_entry.rb
107
+ webgui/db/migrate/20090225072358_change_pool_data_column.rb
108
+ webgui/db/migrate/20090225072849_add_completed_to_entries.rb
109
+ webgui/db/migrate/20090225074149_add_pool_id_index_to_entries.rb
110
+ webgui/db/migrate/20090225084414_add_user_id_to_pool.rb
111
+ webgui/db/migrate/20090226021913_add_active_to_pools.rb
112
+ webgui/db/migrate/20090226142240_rename_bracket_column_to_data.rb
113
+ webgui/db/migrate/20090301014710_create_teams.rb
114
+ webgui/db/migrate/20090301025902_add_more_teams.rb
115
+ webgui/db/migrate/20090301041526_create_seedings.rb
116
+ webgui/db/migrate/20090301090511_create_regions.rb
117
+ webgui/db/migrate/teams.txt
118
+ webgui/db/pool.yml
119
+ webgui/db/schema.rb
120
+ webgui/db/test.sqlite3
121
+ webgui/doc/README_FOR_APP
122
+ webgui/lib/authenticated_system.rb
123
+ webgui/lib/authenticated_test_helper.rb
124
+ webgui/lib/form_object.rb
125
+ webgui/lib/pdf_helper.rb
126
+ webgui/lib/prince.rb
127
+ webgui/lib/saves_picks.rb
128
+ webgui/lib/tasks/admin.rake
129
+ webgui/public/404.html
130
+ webgui/public/422.html
131
+ webgui/public/500.html
132
+ webgui/public/dispatch.cgi
133
+ webgui/public/dispatch.fcgi
134
+ webgui/public/dispatch.rb
135
+ webgui/public/favicon.ico
136
+ webgui/public/images/2009FinalFour.png
137
+ webgui/public/images/rails.png
138
+ webgui/public/javascripts/application.js
139
+ webgui/public/javascripts/bracket.js
140
+ webgui/public/javascripts/controls.js
141
+ webgui/public/javascripts/dragdrop.js
142
+ webgui/public/javascripts/effects.js
143
+ webgui/public/javascripts/prototype.js
144
+ webgui/public/robots.txt
145
+ webgui/public/stylesheets/bracket-print.css
146
+ webgui/public/stylesheets/bracket.css
147
+ webgui/public/stylesheets/main.css
148
+ webgui/public/stylesheets/prince.css
149
+ webgui/public/stylesheets/prince_landscape.css
150
+ webgui/script/about
151
+ webgui/script/console
152
+ webgui/script/dbconsole
153
+ webgui/script/destroy
154
+ webgui/script/generate
155
+ webgui/script/performance/benchmarker
156
+ webgui/script/performance/profiler
157
+ webgui/script/performance/request
158
+ webgui/script/plugin
159
+ webgui/script/process/inspector
160
+ webgui/script/process/reaper
161
+ webgui/script/process/spawner
162
+ webgui/script/runner
163
+ webgui/script/server
164
+ webgui/test/fixtures/entries.yml
165
+ webgui/test/fixtures/pools.yml
166
+ webgui/test/fixtures/regions.yml
167
+ webgui/test/fixtures/roles.yml
168
+ webgui/test/fixtures/roles_users.yml
169
+ webgui/test/fixtures/seedings.yml
170
+ webgui/test/fixtures/teams.yml
171
+ webgui/test/fixtures/users.yml
172
+ webgui/test/functional/admin_controller_test.rb
173
+ webgui/test/functional/entry_controller_test.rb
174
+ webgui/test/functional/pool_controller_test.rb
175
+ webgui/test/functional/reports_controller_test.rb
176
+ webgui/test/functional/sessions_controller_test.rb
177
+ webgui/test/functional/teams_controller_test.rb
178
+ webgui/test/functional/users_controller_test.rb
179
+ webgui/test/performance/browsing_test.rb
180
+ webgui/test/test_helper.rb
181
+ webgui/test/unit/entry_test.rb
182
+ webgui/test/unit/pool_test.rb
183
+ webgui/test/unit/region_test.rb
184
+ webgui/test/unit/role_test.rb
185
+ webgui/test/unit/seeding_test.rb
186
+ webgui/test/unit/team_test.rb
187
+ webgui/test/unit/user_mailer_test.rb
188
+ webgui/test/unit/user_test.rb
189
+ webgui/vendor/plugins/auto_complete/README
190
+ webgui/vendor/plugins/auto_complete/Rakefile
191
+ webgui/vendor/plugins/auto_complete/init.rb
192
+ webgui/vendor/plugins/auto_complete/lib/auto_complete.rb
193
+ webgui/vendor/plugins/auto_complete/lib/auto_complete_macros_helper.rb
194
+ webgui/vendor/plugins/auto_complete/test/auto_complete_test.rb
195
+ webgui/vendor/plugins/enumerations_mixin/ATTENTION
196
+ webgui/vendor/plugins/enumerations_mixin/LICENSE
197
+ webgui/vendor/plugins/enumerations_mixin/README_ENUMERATIONS
198
+ webgui/vendor/plugins/enumerations_mixin/init.rb
199
+ webgui/vendor/plugins/enumerations_mixin/lib/active_record/acts/enumerated.rb
200
+ webgui/vendor/plugins/enumerations_mixin/lib/active_record/aggregations/has_enumerated.rb
201
+ webgui/vendor/plugins/enumerations_mixin/lib/active_record/virtual_enumerations.rb
202
+ webgui/vendor/plugins/enumerations_mixin/virtual_enumerations_sample.rb
203
+ webgui/vendor/plugins/restful_authentication/.gitignore
204
+ webgui/vendor/plugins/restful_authentication/CHANGELOG
205
+ webgui/vendor/plugins/restful_authentication/README.textile
206
+ webgui/vendor/plugins/restful_authentication/Rakefile
207
+ webgui/vendor/plugins/restful_authentication/TODO
208
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/USAGE
209
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/authenticated_generator.rb
210
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/lib/insert_routes.rb
211
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/_model_partial.html.erb
212
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/activation.erb
213
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/authenticated_system.rb
214
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/authenticated_test_helper.rb
215
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/controller.rb
216
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/helper.rb
217
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/login.html.erb
218
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/mailer.rb
219
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/migration.rb
220
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/model.rb
221
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/model_controller.rb
222
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/model_helper.rb
223
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/model_helper_spec.rb
224
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/observer.rb
225
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/signup.html.erb
226
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/signup_notification.erb
227
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/site_keys.rb
228
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/controllers/access_control_spec.rb
229
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/controllers/authenticated_system_spec.rb
230
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/controllers/sessions_controller_spec.rb
231
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/controllers/users_controller_spec.rb
232
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/fixtures/users.yml
233
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/helpers/users_helper_spec.rb
234
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/spec/models/user_spec.rb
235
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/rest_auth_stories.rb
236
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/rest_auth_stories_helper.rb
237
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/steps/ra_navigation_steps.rb
238
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/steps/ra_resource_steps.rb
239
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/steps/ra_response_steps.rb
240
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/steps/user_steps.rb
241
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/users/accounts.story
242
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/stories/users/sessions.story
243
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/test/functional_test.rb
244
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/test/mailer_test.rb
245
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/test/model_functional_test.rb
246
+ webgui/vendor/plugins/restful_authentication/generators/authenticated/templates/test/unit_test.rb
247
+ webgui/vendor/plugins/restful_authentication/init.rb
248
+ webgui/vendor/plugins/restful_authentication/install.rb
249
+ webgui/vendor/plugins/restful_authentication/lib/authentication.rb
250
+ webgui/vendor/plugins/restful_authentication/lib/authentication/by_cookie_token.rb
251
+ webgui/vendor/plugins/restful_authentication/lib/authentication/by_password.rb
252
+ webgui/vendor/plugins/restful_authentication/lib/authorization.rb
253
+ webgui/vendor/plugins/restful_authentication/lib/authorization/aasm_roles.rb
254
+ webgui/vendor/plugins/restful_authentication/lib/authorization/stateful_roles.rb
255
+ webgui/vendor/plugins/restful_authentication/lib/trustification.rb
256
+ webgui/vendor/plugins/restful_authentication/lib/trustification/email_validation.rb
257
+ webgui/vendor/plugins/restful_authentication/notes/AccessControl.txt
258
+ webgui/vendor/plugins/restful_authentication/notes/Authentication.txt
259
+ webgui/vendor/plugins/restful_authentication/notes/Authorization.txt
260
+ webgui/vendor/plugins/restful_authentication/notes/RailsPlugins.txt
261
+ webgui/vendor/plugins/restful_authentication/notes/SecurityFramework.graffle
262
+ webgui/vendor/plugins/restful_authentication/notes/SecurityFramework.png
263
+ webgui/vendor/plugins/restful_authentication/notes/SecurityPatterns.txt
264
+ webgui/vendor/plugins/restful_authentication/notes/Tradeoffs.txt
265
+ webgui/vendor/plugins/restful_authentication/notes/Trustification.txt
266
+ webgui/vendor/plugins/restful_authentication/rails/init.rb
267
+ webgui/vendor/plugins/restful_authentication/restful-authentication.gemspec
268
+ webgui/vendor/plugins/restful_authentication/tasks/auth.rake
data/README.txt CHANGED
@@ -5,24 +5,27 @@ tournament
5
5
 
6
6
  == DESCRIPTION:
7
7
 
8
- Small library and command line program for managing a NCAA
8
+ Small library, command line program and Rails web GUI for managing a NCAA
9
9
  basketball tournament pool.
10
10
 
11
11
  == FEATURES/PROBLEMS:
12
12
 
13
- * Add NCAA tournament pool entries and save them as YAML
13
+ * Fully functional, self-service web GUI for collecting entries and
14
+ generating reports
15
+ * Or use command line to add NCAA tournament pool entries and save them as YAML
14
16
  * Run a possibilities report for determining who is likely to win
15
17
  * Run other reports such as a leader board and entry report
16
- * Buggy, but functional, Shoes GUI included for creating the entries
17
- and updating the tournament results bracket.
18
- * FIXME: Write a test suite.
18
+ * [DEPRECATED] Buggy, but functional, Shoes GUI included for creating
19
+ the entries and updating the tournament results bracket. Useful as an
20
+ adjunct to the command line script.
21
+ * FIXME: Complete the test suite for the library and command line tool
19
22
 
20
- == SYNOPSIS:
23
+ == COMMAND LINE SYNOPSIS:
21
24
 
22
25
  The tournament command line program is installed as 'pool'. The library
23
- has the 2008 NCAA tournament pre-configured. If you were to use
24
- this library for the 2009 NCAA tournament, code changes would be
25
- necessary. FIXME (add ability to read teams from a simple configuration
26
+ has the 2009 NCAA tournament pre-configured. If you were to use
27
+ this library for the 2010 NCAA tournament, code changes would be
28
+ necessary. FIXME: (add ability to read teams from a simple configuration
26
29
  file). For usage, just execute
27
30
 
28
31
  pool --help
@@ -39,14 +42,18 @@ The pool manager would use this program as follows:
39
42
 
40
43
  1. Choose a scoring strategy. There are various scoring strategies
41
44
  that could be used. The library comes pre-configured with
42
- two scoring strategies:
45
+ three scoring strategies:
43
46
  1. Basic scoring strategy: each correct pick is worth 2 X the round.
44
47
  2. Upset favoring strategy: each correct pick is worth a
45
48
  base amount per round plus the seed number of the winner. As
46
49
  pre-configured, the base amounts per round are 3, 5, 11, 19, 30
47
50
  and 40 points.
51
+ 3. The Josh Patashnik stratgy: each correct pick is worth the
52
+ winner's seed number X a round multiplier. The multipliers
53
+ are 1, 2, 4, 8, 16 and 32 points.
48
54
  If your scoring strategy is not one of the above, you will have to
49
- write a class in the Bracket class, in file lib/tournament/bracket.rb.
55
+ add a class to the ScoringStrategy module, in file
56
+ lib/tournament/scoring_strategy.rb.
50
57
 
51
58
  2. Create a directory to hold the pool data and change to it
52
59
 
@@ -113,6 +120,129 @@ The pool manager would use this program as follows:
113
120
 
114
121
  pool report possibility
115
122
 
123
+ == WEB GUI:
124
+
125
+ A Rails web application is available if you don't want to use the
126
+ command line to manage your pool.
127
+
128
+ === INSTALLING THE WEB GUI:
129
+
130
+ The web application can be installed by running the pool command
131
+ as follows
132
+
133
+ pool install_webgui --web-dir=/path/to/directory [options]
134
+
135
+ The above command will copy the Rails app to the specified directory.
136
+
137
+ There are several options you can provide in addition to --web-dir
138
+ to control how the application is installed:
139
+
140
+ * Human readable site name. This appears as the <title> tag content
141
+ of pages in the site and is also used in the subject line of any
142
+ emails sent by the site (as during user registration).
143
+
144
+ --site-name="Site Name" (Default: 'Tournament')
145
+
146
+ * Relative url root. If you will be installing the pool site as
147
+ a relative url on another virtual host, use this switch. You
148
+ will have to configure you virtual host to route requests to this
149
+ path to Rails. This is ridiculously easy if you are using
150
+ modrails and Apache. Example:
151
+
152
+ --relative-root=/my_pool (Default: empty, no root is set)
153
+
154
+ * Administrator email address. The web GUI will send emails
155
+ when users register for creating entries in a pool. The following
156
+ sets the from email address on the emails that are sent.
157
+
158
+ --admin-email=admin
159
+
160
+ * Email server information. Either edit the config/initializers/pool.rb
161
+ file after installation, or provide the following options to configure
162
+ a SMTP server available on your domain.
163
+
164
+ --email-server=smtp.myisp.com
165
+ --email-port=25
166
+ --email-domain=mydomain.com
167
+ --email-user=myuser
168
+ --email-password=mypass
169
+ --email-auth=login|plain|cram_md5
170
+
171
+ See http://guides.rubyonrails.org/action_mailer_basics.html#_action_mailer_configuration
172
+ for more info on how to configure a Rails app for sending email.
173
+
174
+ * The web GUI has the ability to print bracket entries by generating
175
+ a pdf styled using the web site's bracket stylesheet. It uses a third
176
+ party tool called Prince XML to do this. You are not allowed to
177
+ use this on a server without paying a license fee, although you
178
+ can download a trial version for personal use. It's your call
179
+ whether or not you want to use this. Please see http://www.princexml.com/
180
+ for more details.
181
+
182
+ --use-princexml=/full/path/to/prince
183
+
184
+ If prince is not available on the path you specify, the princexml
185
+ distribution will be downloaded and installed using the distribution's
186
+ install.sh script. In order to do this, the tar program must be
187
+ available on your installation system.
188
+
189
+ * If you use the --use-princexml option, the install script needs to write
190
+ files to a temp directory, /tmp by default. Use the --tmp-dir option to
191
+ change this default. If the specified temp dir does not exist, it will
192
+ be created.
193
+
194
+ --tmp-dir=/path/to/tmp/dir
195
+
196
+ === POST-INSTALLATION:
197
+
198
+ Before being able to run the web gui for the first time, you have to
199
+ prepare the sqlite database and create an admin account. To do this,
200
+ change to the installation directory and run the following command:
201
+
202
+ RAILS_ENV=production rake db:migrate
203
+
204
+ To create the admin account, change to the web gui installation directory
205
+ and run the following command:
206
+
207
+ RAILS_ENV=production rake "admin:create[login,email,name,password]"
208
+
209
+ In the above command, substitute "login" for the desired admin user's login
210
+ name, "email" for the administrators email address, "name" for the
211
+ admin user's name (eg, "Joe Admin"), and "password" for the desired
212
+ admin account password
213
+
214
+ === USING THE WEB GUI:
215
+
216
+ Load the entry page in your brower. Log in as the admin user you
217
+ configured during installation. Click on on the 'All Pools' link on
218
+ the right sidebar. Create a new pool and fill in the information.
219
+ Each time you save this form, a new blank payouts line will be added
220
+ so that you can configure as many payouts as you desire.
221
+
222
+ After the basic pool configuration is set up, click on the 'Teams'
223
+ link in the right sidebar. You are presented with four region
224
+ brackets to fill in. Keep in mind that the pink region champs will
225
+ play each other in the final four and the light blue region champs
226
+ will play each other in the final four so you can get the bracket
227
+ right. The web application is preconfigured with over 300 NCAA
228
+ schools. The team name fields are auto-complete fields -- type in
229
+ a few letters and pause and you will be presented with a list of
230
+ matching teams. The Short Name field should be a three letter
231
+ abbreviation for the team. The abbreviations have to be unique
232
+ across the entire tournament field.
233
+
234
+ Once the teams are configured, go back to the pool basic information
235
+ form, click the Active check box and save the form. The pool is now
236
+ ready for entries to be added to it. Invite your friends to join the pool
237
+ by giving them the url for the entry page. They will be asked to
238
+ register. After registering and logging in, they will be able to
239
+ submit entries to your pool.
240
+
241
+ As the tournament progresses, use the 'Tournament Bracket' link
242
+ on the right sidebar to record the winning teams.
243
+
244
+ Use the report links to run reports, etc.
245
+
116
246
  == SHOES GUI:
117
247
 
118
248
  A GUI for filling out tournment bracket entries is included and is run
@@ -134,7 +264,17 @@ from played to unknown outcome.
134
264
  == REQUIREMENTS:
135
265
 
136
266
  * main (2.8.0)
137
- * shoes-0.r396 (GUI Only)
267
+
268
+ == WEB GUI REQUIREMENTS:
269
+
270
+ * rails (2.2.2)
271
+ * rake (0.8.3)
272
+ * sqlite3-ruby (1.2.4)
273
+
274
+ == SHOES GUI REQUIREMENTS:
275
+
276
+ Verified working on
277
+ * shoes raisins v1134
138
278
 
139
279
  == INSTALL:
140
280
 
data/Rakefile CHANGED
@@ -10,21 +10,24 @@ require 'tournament'
10
10
  task :default => 'spec:run'
11
11
 
12
12
  depend_on 'main'
13
+ depend_on 'rake'
14
+ depend_on 'rails'
15
+ depend_on 'sqlite3-ruby'
16
+
13
17
 
14
18
  PROJ.name = 'tournament'
15
19
  PROJ.authors = 'Douglas A. Seifert'
16
20
  PROJ.email = 'doug+rubyforge@dseifert.net'
17
21
  PROJ.url = 'http://www.dseifert.net/code/tournament'
18
- PROJ.rubyforge_name = 'tournament'
19
- PROJ.version = '1.1.0'
22
+ PROJ.rubyforge.name = 'tournament'
23
+ PROJ.version = '2.0.0'
20
24
  PROJ.group_id = 5863
21
25
 
22
- PROJ.spec_opts << '--color'
26
+ PROJ.spec.opts << '--color'
23
27
 
24
28
  PROJ.exclude = %w(tmp$ bak$ ~$ CVS \.svn ^pkg ^doc bin/fake bin/gui_v2.rb)
25
29
  PROJ.exclude << '^tags$'
26
30
 
27
- PROJ.rdoc_opts = ["--line-numbers", "--inline-source"]
28
- PROJ.rdoc_template = "tasks/jamis.rb"
29
-
31
+ PROJ.rdoc.opts = ["--line-numbers", "--inline-source"]
32
+ PROJ.rdoc.template = "tasks/jamis.rb"
30
33
  # EOF
data/bin/benchmark_pool CHANGED
File without changes
data/bin/gui.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env shoes
2
2
 
3
+ Dir.chdir(File.join(File.dirname(__FILE__), '..'))
4
+
3
5
  require 'yaml'
4
6
  require File.join('.', 'lib', 'tournament')
5
7
 
@@ -28,7 +30,7 @@ Shoes.app :width => WINDOW_WIDTH, :height => 600 do
28
30
  load_data
29
31
  else
30
32
  @entry = Tournament::Entry.new
31
- @entry.picks = Tournament::Bracket.new(@pool.bracket.teams)
33
+ @entry.picks = Tournament::Bracket.new(@pool.scoring_strategy, @pool.tournament_entry.picks.teams)
32
34
  #@picks = Tournament::Bracket.random_bracket(Tournament::Pool.ncaa_2008.bracket.teams)
33
35
  end
34
36
 
data/bin/picker CHANGED
File without changes