amrita2 2.0.1 → 2.0.2

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 (162) hide show
  1. data/README +5 -5
  2. data/Rakefile +85 -0
  3. data/lib/amrita2/gettext.rb +9 -4
  4. data/lib/amrita2/template.rb +20 -9
  5. data/lib/amrita2/testsupport.rb +25 -0
  6. data/lib/amrita2/version.rb +1 -1
  7. data/sample/depot/README +160 -0
  8. data/sample/depot/Rakefile +10 -0
  9. data/sample/depot/app/views/admin/_form.html.a2 +23 -0
  10. data/sample/depot/app/views/admin/_form.html.erb +14 -0
  11. data/sample/depot/app/views/admin/edit.html.a2 +22 -0
  12. data/sample/depot/app/views/admin/edit.html.erb +10 -0
  13. data/sample/depot/app/views/admin/list.html.a2 +34 -0
  14. data/sample/depot/app/views/admin/list.html.erb +37 -0
  15. data/sample/depot/app/views/admin/new.html.a2 +21 -0
  16. data/sample/depot/app/views/admin/new.html.erb +9 -0
  17. data/sample/depot/app/views/admin/show.html.a2 +12 -0
  18. data/sample/depot/app/views/admin/show.html.erb +13 -0
  19. data/sample/depot/app/views/info/who_bought.rhtml +14 -0
  20. data/sample/depot/app/views/info/who_bought.rxml +8 -0
  21. data/sample/depot/app/views/layouts/admin.a2html +32 -0
  22. data/sample/depot/app/views/layouts/admin.rhtml +40 -0
  23. data/sample/depot/app/views/layouts/store.a2html +37 -0
  24. data/sample/depot/app/views/layouts/store.rhtml +43 -0
  25. data/sample/depot/app/views/login/add_user.rhtml +33 -0
  26. data/sample/depot/app/views/login/index.rhtml +9 -0
  27. data/sample/depot/app/views/login/list_users.rhtml +20 -0
  28. data/sample/depot/app/views/login/login.rhtml +26 -0
  29. data/sample/depot/app/views/store/_cart.html.a2 +18 -0
  30. data/sample/depot/app/views/store/_cart.html.erb +17 -0
  31. data/sample/depot/app/views/store/_cart_item.html.a2 +16 -0
  32. data/sample/depot/app/views/store/_cart_item.html.erb +14 -0
  33. data/sample/depot/app/views/store/add_to_cart.rjs +11 -0
  34. data/sample/depot/app/views/store/checkout.html.a2 +45 -0
  35. data/sample/depot/app/views/store/checkout.html.a2.using_macro +32 -0
  36. data/sample/depot/app/views/store/checkout.html.a2.without_label +37 -0
  37. data/sample/depot/app/views/store/checkout.html.erb +41 -0
  38. data/sample/depot/app/views/store/index.html.a2 +19 -0
  39. data/sample/depot/app/views/store/index.html.erb +22 -0
  40. data/sample/depot/config/database.yml +24 -0
  41. data/sample/depot/db/create_database.sql +14 -0
  42. data/sample/depot/doc/README_FOR_APP +35 -0
  43. data/sample/depot/lib/tasks/db_schema_version.rake +6 -0
  44. data/sample/depot/log/development.log +116 -0
  45. data/sample/depot/log/test.log +347 -0
  46. data/sample/depot/public/404.html +13 -0
  47. data/sample/depot/public/500.html +13 -0
  48. data/sample/depot/public/dispatch.cgi +10 -0
  49. data/sample/depot/public/dispatch.fcgi +24 -0
  50. data/sample/depot/public/favicon.ico +0 -0
  51. data/sample/depot/public/images/auto.jpg +0 -0
  52. data/sample/depot/public/images/logo.png +0 -0
  53. data/sample/depot/public/images/rails.png +0 -0
  54. data/sample/depot/public/images/svn.jpg +0 -0
  55. data/sample/depot/public/images/utc.jpg +0 -0
  56. data/sample/depot/public/index.html +282 -0
  57. data/sample/depot/public/javascripts/application.js +2 -0
  58. data/sample/depot/public/javascripts/controls.js +832 -0
  59. data/sample/depot/public/javascripts/dragdrop.js +942 -0
  60. data/sample/depot/public/javascripts/effects.js +954 -0
  61. data/sample/depot/public/javascripts/prototype.js +2347 -0
  62. data/sample/depot/public/robots.txt +1 -0
  63. data/sample/depot/public/stylesheets/depot.css +227 -0
  64. data/sample/depot/public/stylesheets/scaffold.css +74 -0
  65. data/sample/depot/script/about +3 -0
  66. data/sample/depot/script/breakpointer +3 -0
  67. data/sample/depot/script/console +3 -0
  68. data/sample/depot/script/destroy +3 -0
  69. data/sample/depot/script/generate +3 -0
  70. data/sample/depot/script/performance/benchmarker +3 -0
  71. data/sample/depot/script/performance/profiler +3 -0
  72. data/sample/depot/script/plugin +3 -0
  73. data/sample/depot/script/process/inspector +3 -0
  74. data/sample/depot/script/process/reaper +3 -0
  75. data/sample/depot/script/process/spawner +3 -0
  76. data/sample/depot/script/runner +3 -0
  77. data/sample/depot/script/server +3 -0
  78. data/sample/depot/test/fixtures/line_items.yml +16 -0
  79. data/sample/depot/test/fixtures/orders.yml +4 -0
  80. data/sample/depot/test/fixtures/performance/products.yml +8 -0
  81. data/sample/depot/test/fixtures/products.yml +16 -0
  82. data/sample/depot/test/fixtures/users.yml +7 -0
  83. data/sample/depot/vendor/plugins/will_paginate/LICENSE +18 -0
  84. data/sample/depot/vendor/plugins/will_paginate/README +171 -0
  85. data/sample/depot/vendor/plugins/will_paginate/Rakefile +27 -0
  86. data/sample/depot/vendor/plugins/will_paginate/test/console +9 -0
  87. data/sample/depot/vendor/plugins/will_paginate/test/fixtures/companies.yml +24 -0
  88. data/sample/depot/vendor/plugins/will_paginate/test/fixtures/developers_projects.yml +13 -0
  89. data/sample/depot/vendor/plugins/will_paginate/test/fixtures/projects.yml +7 -0
  90. data/sample/depot/vendor/plugins/will_paginate/test/fixtures/replies.yml +34 -0
  91. data/sample/depot/vendor/plugins/will_paginate/test/fixtures/schema.sql +44 -0
  92. data/sample/depot/vendor/plugins/will_paginate/test/fixtures/topics.yml +30 -0
  93. data/sample/depot/vendor/plugins/will_paginate/test/fixtures/users.yml +35 -0
  94. data/sample/login_engine/README +182 -0
  95. data/sample/login_engine/Rakefile +27 -0
  96. data/sample/login_engine/app/views/layouts/user.a2html +20 -0
  97. data/sample/login_engine/app/views/layouts/user.rhtml +16 -0
  98. data/sample/login_engine/app/views/user/_edit.a2html +16 -0
  99. data/sample/login_engine/app/views/user/_edit.rhtml +11 -0
  100. data/sample/login_engine/app/views/user/_password.a2html +18 -0
  101. data/sample/login_engine/app/views/user/_password.rhtml +9 -0
  102. data/sample/login_engine/app/views/user/change_password.a2html +17 -0
  103. data/sample/login_engine/app/views/user/change_password.rhtml +17 -0
  104. data/sample/login_engine/app/views/user/edit.a2html +22 -0
  105. data/sample/login_engine/app/views/user/edit.rhtml +23 -0
  106. data/sample/login_engine/app/views/user/forgot_password.rhtml +18 -0
  107. data/sample/login_engine/app/views/user/home.a2html +12 -0
  108. data/sample/login_engine/app/views/user/home.rhtml +7 -0
  109. data/sample/login_engine/app/views/user/login.a2html +16 -0
  110. data/sample/login_engine/app/views/user/login.rhtml +17 -0
  111. data/sample/login_engine/app/views/user/logout.rhtml +8 -0
  112. data/sample/login_engine/app/views/user/signup.a2html +14 -0
  113. data/sample/login_engine/app/views/user/signup.rhtml +17 -0
  114. data/sample/login_engine/app/views/user_notify/change_password.rhtml +10 -0
  115. data/sample/login_engine/app/views/user_notify/delete.rhtml +5 -0
  116. data/sample/login_engine/app/views/user_notify/forgot_password.rhtml +11 -0
  117. data/sample/login_engine/app/views/user_notify/pending_delete.rhtml +9 -0
  118. data/sample/login_engine/app/views/user_notify/signup.rhtml +12 -0
  119. data/sample/login_engine/config/database.yml +18 -0
  120. data/sample/login_engine/db/create_database.sql +14 -0
  121. data/sample/login_engine/db/dev.sqlite3 +0 -0
  122. data/sample/login_engine/db/test.sqlite3 +0 -0
  123. data/sample/login_engine/doc/README_FOR_APP +2 -0
  124. data/sample/login_engine/locale/ja/LC_MESSAGES/login_engine.mo +0 -0
  125. data/sample/login_engine/log/development.log +330 -0
  126. data/sample/login_engine/log/test.log +19026 -0
  127. data/sample/login_engine/po/ja/login_engine.po +248 -0
  128. data/sample/login_engine/po/login_engine.pot +245 -0
  129. data/sample/login_engine/public/404.html +30 -0
  130. data/sample/login_engine/public/500.html +30 -0
  131. data/sample/login_engine/public/dispatch.cgi +10 -0
  132. data/sample/login_engine/public/dispatch.fcgi +24 -0
  133. data/sample/login_engine/public/favicon.ico +0 -0
  134. data/sample/login_engine/public/images/rails.png +0 -0
  135. data/sample/login_engine/public/index.html +277 -0
  136. data/sample/login_engine/public/javascripts/application.js +2 -0
  137. data/sample/login_engine/public/javascripts/controls.js +833 -0
  138. data/sample/login_engine/public/javascripts/dragdrop.js +942 -0
  139. data/sample/login_engine/public/javascripts/effects.js +1088 -0
  140. data/sample/login_engine/public/javascripts/prototype.js +2385 -0
  141. data/sample/login_engine/public/robots.txt +1 -0
  142. data/sample/login_engine/public/stylesheets/login_engine.css +81 -0
  143. data/sample/login_engine/script/about +3 -0
  144. data/sample/login_engine/script/breakpointer +3 -0
  145. data/sample/login_engine/script/console +3 -0
  146. data/sample/login_engine/script/destroy +3 -0
  147. data/sample/login_engine/script/generate +3 -0
  148. data/sample/login_engine/script/performance/benchmarker +3 -0
  149. data/sample/login_engine/script/performance/profiler +3 -0
  150. data/sample/login_engine/script/plugin +3 -0
  151. data/sample/login_engine/script/process/inspector +3 -0
  152. data/sample/login_engine/script/process/reaper +3 -0
  153. data/sample/login_engine/script/process/spawner +3 -0
  154. data/sample/login_engine/script/runner +3 -0
  155. data/sample/login_engine/script/server +3 -0
  156. data/sample/login_engine/test/fixtures/users.yml +41 -0
  157. data/specs/erb_cdata.rb +11 -0
  158. data/specs/filters.rb +5 -4
  159. data/specs/gettext/static_text.rb +30 -13
  160. data/specs/impl/preprocess.rb +58 -54
  161. metadata +375 -120
  162. data/sample/hello/test1.rb +0 -23
@@ -0,0 +1,347 @@
1
+ # Logfile created on Mon Mar 03 17:32:51 +0900 2008 SQL (0.000112) SET SQL_AUTO_IS_NULL=0
2
+ SQL (0.000039) BEGIN
3
+ Product Load (0.012270) SELECT * FROM `products` WHERE (`products`.`id` = 2) 
4
+ SQL (0.000082) ROLLBACK
5
+ SQL (0.000053) BEGIN
6
+ Product Load (0.000056) SELECT * FROM `products` WHERE (`products`.`id` = 2) 
7
+ Product Load (0.000146) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
8
+ SQL (0.000057) ROLLBACK
9
+ SQL (0.000038) BEGIN
10
+ SQL (0.000039) ROLLBACK
11
+ SQL (0.000038) BEGIN
12
+ SQL (0.000039) ROLLBACK
13
+ SQL (0.000039) BEGIN
14
+ Product Load (0.000143) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
15
+ Product Load (0.000050) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
16
+ Product Load (0.000050) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
17
+ Product Load (0.000049) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
18
+ Product Load (0.000051) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
19
+ Product Load (0.000050) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
20
+ Product Load (0.000049) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
21
+ Product Load (0.000049) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
22
+ Product Load (0.000049) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
23
+ SQL (0.000055) ROLLBACK
24
+ SQL (0.000040) BEGIN
25
+ Product Load (0.000124) SELECT * FROM `products` WHERE (products.title IS NULL) LIMIT 1
26
+ SQL (0.000051) ROLLBACK
27
+ SQL (0.000039) BEGIN
28
+ Product Load (0.000051) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
29
+ Product Load (0.000049) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
30
+ Product Load (0.000049) SELECT * FROM `products` WHERE (products.title = 'My Book Title') LIMIT 1
31
+ SQL (0.000048) ROLLBACK
32
+ SQL (0.000040) BEGIN
33
+ SQL (0.000039) ROLLBACK
34
+ SQL (0.000040) BEGIN
35
+ Product Load (0.000050) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
36
+ Product Load (0.000128) SELECT * FROM `products` WHERE (products.title = 'Programming Ruby') LIMIT 1
37
+ SQL (0.000049) ROLLBACK
38
+ SQL (0.000040) BEGIN
39
+ Product Load (0.000050) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
40
+ Product Load (0.000050) SELECT * FROM `products` WHERE (products.title = 'Programming Ruby') LIMIT 1
41
+ SQL (0.000049) ROLLBACK
42
+ SQL (0.000120) SET SQL_AUTO_IS_NULL=0
43
+ SQL (0.000039) BEGIN
44
+ User Columns (0.000471) SHOW FIELDS FROM `users`
45
+ User Load (0.000161) SELECT * FROM `users` WHERE (users.name = 'u1') LIMIT 1
46
+ User Create (0.000118) INSERT INTO `users` (`name`, `salt`, `hashed_password`) VALUES('u1', '-6114594080.208039035410805', 'df084beb51cb842f0ca290921469be2feb954977')
47
+ User Load (0.000104) SELECT * FROM `users` WHERE (users.name = 'u2') LIMIT 1
48
+ User Create (0.000084) INSERT INTO `users` (`name`, `salt`, `hashed_password`) VALUES('u2', '-6114726580.381384300460964', 'c986ad838c6e9fbddb4f3c915dd3685300531f30')
49
+
50
+
51
+ Processing AdminController#new (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
52
+ Session ID:
53
+ Parameters: {"action"=>"new", "controller"=>"admin"}
54
+ User Load (0.000147) SELECT * FROM `users` WHERE (`users`.`id` IS NULL) LIMIT 1
55
+ Redirected to http://test.host/login/login
56
+ Filter chain halted as [#<ActionController::Filters::ClassMethods::SymbolFilter:0xb78fa464 @filter=:authorize>] rendered_or_redirected.
57
+ Completed in 0.00096 (1038 reqs/sec) | DB: 0.00124 (129%) | 302 Found [http://test.host/admin/new]
58
+ User Load (0.000128) SELECT * FROM `users` WHERE (`users`.`name` = 'u1') LIMIT 1
59
+
60
+
61
+ Processing AdminController#edit (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
62
+ Session ID:
63
+ Parameters: {"action"=>"edit", "id"=>"1", "controller"=>"admin"}
64
+ User Load (0.000124) SELECT * FROM `users` WHERE (`users`.`id` = 1) LIMIT 1
65
+ Product Load (0.000124) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
66
+ Rendering template within layouts/admin
67
+ Rendering admin/edit
68
+ Rendered admin/_form (0.01419)
69
+ Completed in 0.04391 (22 reqs/sec) | Rendering: 0.04044 (92%) | DB: 0.00038 (0%) | 200 OK [http://test.host/admin/new]
70
+
71
+
72
+ Processing AdminController#edit_erb (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
73
+ Session ID:
74
+ Parameters: {"action"=>"edit_erb", "id"=>"1", "controller"=>"admin"}
75
+ User Load (0.000235) SELECT * FROM `users` WHERE (`users`.`id` = 1) LIMIT 1
76
+ Product Load (0.000050) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
77
+ Rendering template within layouts/admin
78
+ Rendering admin/edit.html.erb
79
+ Rendered admin/_form.html.erb (0.00163)
80
+ Completed in 0.00646 (154 reqs/sec) | Rendering: 0.00549 (84%) | DB: 0.00029 (4%) | 200 OK [http://test.host/admin/new]
81
+ SQL (0.000218) ROLLBACK
82
+ SQL (0.000051) BEGIN
83
+ User Load (0.000163) SELECT * FROM `users` WHERE (users.name = 'u1') LIMIT 1
84
+ User Create (0.000111) INSERT INTO `users` (`name`, `salt`, `hashed_password`) VALUES('u1', '-6119181980.308624885039377', '3cfd71a1d5f7ba3b927a5f1a9503573297c30bee')
85
+ User Load (0.000102) SELECT * FROM `users` WHERE (users.name = 'u2') LIMIT 1
86
+ User Create (0.000082) INSERT INTO `users` (`name`, `salt`, `hashed_password`) VALUES('u2', '-6119229680.21105499402099', 'f1ee1d0843f3f424c3cca8399aa1272ae66577b2')
87
+
88
+
89
+ Processing AdminController#new (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
90
+ Session ID:
91
+ Parameters: {"action"=>"new", "controller"=>"admin"}
92
+ User Load (0.000089) SELECT * FROM `users` WHERE (`users`.`id` IS NULL) LIMIT 1
93
+ Redirected to http://test.host/login/login
94
+ Filter chain halted as [#<ActionController::Filters::ClassMethods::SymbolFilter:0xb78fa464 @filter=:authorize>] rendered_or_redirected.
95
+ Completed in 0.00065 (1543 reqs/sec) | DB: 0.00082 (125%) | 302 Found [http://test.host/admin/new]
96
+ User Load (0.000104) SELECT * FROM `users` WHERE (`users`.`name` = 'u1') LIMIT 1
97
+
98
+
99
+ Processing AdminController#list (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
100
+ Session ID:
101
+ Parameters: {"action"=>"list", "controller"=>"admin"}
102
+ User Load (0.000103) SELECT * FROM `users` WHERE (`users`.`id` = 3) LIMIT 1
103
+ Product Load (0.000109) SELECT * FROM `products` LIMIT 0, 30
104
+ Rendering template within layouts/admin
105
+ Rendering admin/list
106
+ Completed in 0.02093 (47 reqs/sec) | Rendering: 0.02003 (95%) | DB: 0.00032 (1%) | 200 OK [http://test.host/admin/new]
107
+
108
+
109
+ Processing AdminController#list_erb (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
110
+ Session ID:
111
+ Parameters: {"action"=>"list_erb", "controller"=>"admin"}
112
+ User Load (0.000221) SELECT * FROM `users` WHERE (`users`.`id` = 3) LIMIT 1
113
+ Product Load (0.000057) SELECT * FROM `products` LIMIT 0, 30
114
+ Rendering template within layouts/admin
115
+ Rendering admin/list.html.erb
116
+ Completed in 0.00627 (159 reqs/sec) | Rendering: 0.00522 (83%) | DB: 0.00028 (4%) | 200 OK [http://test.host/admin/new]
117
+ SQL (0.000285) ROLLBACK
118
+ SQL (0.000057) BEGIN
119
+ User Load (0.000186) SELECT * FROM `users` WHERE (users.name = 'u1') LIMIT 1
120
+ User Create (0.000116) INSERT INTO `users` (`name`, `salt`, `hashed_password`) VALUES('u1', '-6112362080.152167807918847', '99a23139a1f15c9600f01aaf07d216cd12bb9b26')
121
+ User Load (0.000104) SELECT * FROM `users` WHERE (users.name = 'u2') LIMIT 1
122
+ User Create (0.000085) INSERT INTO `users` (`name`, `salt`, `hashed_password`) VALUES('u2', '-6112409780.908469054730733', 'beff384038396f842c1e655ce8355dc067dbcd1d')
123
+
124
+
125
+ Processing AdminController#new (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
126
+ Session ID:
127
+ Parameters: {"action"=>"new", "controller"=>"admin"}
128
+ User Load (0.000092) SELECT * FROM `users` WHERE (`users`.`id` IS NULL) LIMIT 1
129
+ Redirected to http://test.host/login/login
130
+ Filter chain halted as [#<ActionController::Filters::ClassMethods::SymbolFilter:0xb78fa464 @filter=:authorize>] rendered_or_redirected.
131
+ Completed in 0.00069 (1457 reqs/sec) | DB: 0.00093 (134%) | 302 Found [http://test.host/admin/new]
132
+ User Load (0.000114) SELECT * FROM `users` WHERE (`users`.`name` = 'u1') LIMIT 1
133
+
134
+
135
+ Processing AdminController#new (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
136
+ Session ID:
137
+ Parameters: {"action"=>"new", "controller"=>"admin"}
138
+ User Load (0.000106) SELECT * FROM `users` WHERE (`users`.`id` = 5) LIMIT 1
139
+ Rendering template within layouts/admin
140
+ Rendering admin/new
141
+ Rendered admin/_form (0.00037)
142
+ Completed in 0.01032 (96 reqs/sec) | Rendering: 0.00971 (94%) | DB: 0.00022 (2%) | 200 OK [http://test.host/admin/new]
143
+
144
+
145
+ Processing AdminController#new_erb (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
146
+ Session ID:
147
+ Parameters: {"action"=>"new_erb", "controller"=>"admin"}
148
+ User Load (0.000203) SELECT * FROM `users` WHERE (`users`.`id` = 5) LIMIT 1
149
+ Rendering template within layouts/admin
150
+ Rendering admin/new.html.erb
151
+ Rendered admin/_form.html.erb (0.00064)
152
+ Completed in 0.00500 (199 reqs/sec) | Rendering: 0.00430 (86%) | DB: 0.00020 (4%) | 200 OK [http://test.host/admin/new]
153
+ SQL (0.000214) ROLLBACK
154
+ SQL (0.000054) BEGIN
155
+ User Load (0.000164) SELECT * FROM `users` WHERE (users.name = 'u1') LIMIT 1
156
+ User Create (0.000119) INSERT INTO `users` (`name`, `salt`, `hashed_password`) VALUES('u1', '-6114500980.997548771305529', '74160a4c5ff040525b91609bb8c40b904f80193b')
157
+ User Load (0.000103) SELECT * FROM `users` WHERE (users.name = 'u2') LIMIT 1
158
+ User Create (0.000082) INSERT INTO `users` (`name`, `salt`, `hashed_password`) VALUES('u2', '-6114556480.621357089109058', '44cee760ed159a288ab16cc5c850c90c8cf0ca2c')
159
+
160
+
161
+ Processing AdminController#new (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
162
+ Session ID:
163
+ Parameters: {"action"=>"new", "controller"=>"admin"}
164
+ User Load (0.000088) SELECT * FROM `users` WHERE (`users`.`id` IS NULL) LIMIT 1
165
+ Redirected to http://test.host/login/login
166
+ Filter chain halted as [#<ActionController::Filters::ClassMethods::SymbolFilter:0xb78fa464 @filter=:authorize>] rendered_or_redirected.
167
+ Completed in 0.00066 (1524 reqs/sec) | DB: 0.00082 (125%) | 302 Found [http://test.host/admin/new]
168
+ User Load (0.000106) SELECT * FROM `users` WHERE (`users`.`name` = 'u1') LIMIT 1
169
+
170
+
171
+ Processing AdminController#show (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
172
+ Session ID:
173
+ Parameters: {"action"=>"show", "id"=>"1", "controller"=>"admin"}
174
+ User Load (0.000103) SELECT * FROM `users` WHERE (`users`.`id` = 7) LIMIT 1
175
+ Product Load (0.000050) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
176
+ Rendering template within layouts/admin
177
+ Rendering admin/show
178
+ Completed in 0.01027 (97 reqs/sec) | Rendering: 0.00947 (92%) | DB: 0.00026 (2%) | 200 OK [http://test.host/admin/new]
179
+
180
+
181
+ Processing AdminController#show_erb (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
182
+ Session ID:
183
+ Parameters: {"action"=>"show_erb", "id"=>"1", "controller"=>"admin"}
184
+ User Load (0.000196) SELECT * FROM `users` WHERE (`users`.`id` = 7) LIMIT 1
185
+ Product Load (0.000050) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
186
+ Rendering template within layouts/admin
187
+ Rendering admin/show.html.erb
188
+ Completed in 0.00452 (221 reqs/sec) | Rendering: 0.00359 (79%) | DB: 0.00025 (5%) | 200 OK [http://test.host/admin/new]
189
+ SQL (0.000235) ROLLBACK
190
+ SQL (0.000043) BEGIN
191
+ SQL (0.000040) ROLLBACK
192
+ SQL (0.000037) BEGIN
193
+ User Load (0.000138) SELECT * FROM `users` WHERE (`users`.`id` = 1) 
194
+
195
+
196
+ Processing LoginController#login (for 0.0.0.0 at 2008-03-03 17:33:30) [POST]
197
+ Session ID:
198
+ Parameters: {"name"=>"dave", "action"=>"login", "controller"=>"login", "password"=>"wrong"}
199
+ User Load (0.000136) SELECT * FROM `users` WHERE (`users`.`name` = 'dave') LIMIT 1
200
+ Rendering template within layouts/admin
201
+ Rendering login/login
202
+ Completed in 0.00697 (143 reqs/sec) | Rendering: 0.00386 (55%) | DB: 0.00063 (9%) | 200 OK [http://test.host/login/login?name=dave&password=wrong]
203
+ SQL (0.000075) ROLLBACK
204
+ SQL (0.000053) BEGIN
205
+ User Load (0.000053) SELECT * FROM `users` WHERE (`users`.`id` = 1) 
206
+
207
+
208
+ Processing LoginController#index (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
209
+ Session ID:
210
+ Parameters: {"action"=>"index", "controller"=>"login"}
211
+ User Load (0.000146) SELECT * FROM `users` WHERE (`users`.`id` = 1) LIMIT 1
212
+ Order Columns (0.000454) SHOW FIELDS FROM `orders`
213
+ SQL (0.008319) SELECT count(*) AS count_all FROM `orders` 
214
+ Rendering template within layouts/admin
215
+ Rendering login/index
216
+ Completed in 0.01554 (64 reqs/sec) | Rendering: 0.00296 (19%) | DB: 0.00910 (58%) | 200 OK [http://test.host/login]
217
+ SQL (0.000071) ROLLBACK
218
+ SQL (0.000041) BEGIN
219
+
220
+
221
+ Processing LoginController#index (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
222
+ Session ID:
223
+ Parameters: {"action"=>"index", "controller"=>"login"}
224
+ User Load (0.000121) SELECT * FROM `users` WHERE (`users`.`id` IS NULL) LIMIT 1
225
+ Redirected to http://test.host/login/login
226
+ Filter chain halted as [#<ActionController::Filters::ClassMethods::SymbolFilter:0xb721d2cc @filter=:authorize>] rendered_or_redirected.
227
+ Completed in 0.00069 (1451 reqs/sec) | DB: 0.00023 (33%) | 302 Found [http://test.host/login]
228
+ SQL (0.000057) ROLLBACK
229
+ SQL (0.000040) BEGIN
230
+ User Load (0.000051) SELECT * FROM `users` WHERE (`users`.`id` = 1) 
231
+
232
+
233
+ Processing LoginController#login (for 0.0.0.0 at 2008-03-03 17:33:30) [POST]
234
+ Session ID:
235
+ Parameters: {"name"=>"dave", "action"=>"login", "controller"=>"login", "password"=>"secret"}
236
+ User Load (0.000050) SELECT * FROM `users` WHERE (`users`.`name` = 'dave') LIMIT 1
237
+ Redirected to http://test.host/login
238
+ Completed in 0.00060 (1680 reqs/sec) | DB: 0.00020 (33%) | 302 Found [http://test.host/login/login?name=dave&password=secret]
239
+ SQL (0.000051) ROLLBACK
240
+ SQL (0.000039) BEGIN
241
+ SQL (0.000038) ROLLBACK
242
+ SQL (0.000039) BEGIN
243
+ Product Load (0.000052) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
244
+
245
+
246
+ Processing StoreController#index (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
247
+ Session ID:
248
+ Parameters: {"action"=>"index", "controller"=>"store"}
249
+ Product Load (0.001407) SELECT * FROM `products` ORDER BY title
250
+ Rendering template within layouts/store
251
+ Rendering store/index
252
+ Rendered store/_cart (0.01173)
253
+ Completed in 0.06363 (15 reqs/sec) | Rendering: 0.05723 (89%) | DB: 0.00163 (2%) | 200 OK [http://test.host/store]
254
+
255
+
256
+ Processing StoreController#add_to_cart (for 0.0.0.0 at 2008-03-03 17:33:30) [POST]
257
+ Session ID:
258
+ Parameters: {"action"=>"add_to_cart", "id"=>"1", "controller"=>"store"}
259
+ Product Load (0.000101) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
260
+ Redirected to http://test.host/store
261
+ Completed in 0.00262 (381 reqs/sec) | Rendering: 0.05723 (2181%) | DB: 0.00173 (65%) | 302 Found [http://test.host/store]
262
+
263
+
264
+ Processing StoreController#checkout (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
265
+ Session ID:
266
+ Parameters: {"action"=>"checkout", "controller"=>"store"}
267
+ Rendering template within layouts/store
268
+ Rendering store/checkout
269
+ Rendered store/_cart_item (0.01060)
270
+ Rendered store/_cart (0.01153)
271
+ Completed in 0.08143 (12 reqs/sec) | Rendering: 0.08123 (99%) | DB: 0.00000 (0%) | 200 OK [http://test.host/store]
272
+
273
+
274
+ Processing StoreController#checkout_erb (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
275
+ Session ID:
276
+ Parameters: {"action"=>"checkout_erb", "controller"=>"store"}
277
+ Rendering template within layouts/store.rhtml
278
+ Rendering store/checkout.html.erb
279
+ Rendered store/_cart_item (0.00051)
280
+ Rendered store/_cart.html.erb (0.00232)
281
+ Completed in 0.00856 (116 reqs/sec) | Rendering: 0.00840 (98%) | DB: 0.00000 (0%) | 200 OK [http://test.host/store]
282
+ SQL (0.000115) ROLLBACK
283
+ SQL (0.000052) BEGIN
284
+
285
+
286
+ Processing StoreController#index_erb (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
287
+ Session ID:
288
+ Parameters: {"action"=>"index_erb", "controller"=>"store"}
289
+ Product Load (0.000065) SELECT * FROM `products` ORDER BY title
290
+ Rendering template within layouts/store.rhtml
291
+ Rendering store/index.html.erb
292
+ Rendered store/_cart.html.erb (0.00058)
293
+ Completed in 0.00493 (202 reqs/sec) | Rendering: 0.00451 (91%) | DB: 0.00023 (4%) | 200 OK [http://test.host/store/index_erb]
294
+
295
+
296
+ Processing StoreController#index (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
297
+ Session ID:
298
+ Parameters: {"action"=>"index", "controller"=>"store"}
299
+ Product Load (0.000071) SELECT * FROM `products` ORDER BY title
300
+ Rendering template within layouts/store
301
+ Rendering store/index
302
+ Rendered store/_cart (0.00072)
303
+ Completed in 0.00445 (224 reqs/sec) | Rendering: 0.00405 (91%) | DB: 0.00007 (1%) | 200 OK [http://test.host/store/index_erb]
304
+ SQL (0.000093) ROLLBACK
305
+ SQL (0.000083) BEGIN
306
+
307
+
308
+ Processing StoreController#index (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
309
+ Session ID:
310
+ Parameters: {"action"=>"index", "controller"=>"store"}
311
+ Product Load (0.000060) SELECT * FROM `products` ORDER BY title
312
+ Rendering template within layouts/store
313
+ Rendering store/index
314
+ Rendered store/_cart (0.00072)
315
+ Completed in 0.00446 (224 reqs/sec) | Rendering: 0.00406 (91%) | DB: 0.00024 (5%) | 200 OK [http://test.host/store]
316
+ Product Load (0.000070) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
317
+
318
+
319
+ Processing StoreController#add_to_cart (for 0.0.0.0 at 2008-03-03 17:33:30) [POST]
320
+ Session ID:
321
+ Parameters: {"action"=>"add_to_cart", "id"=>"1", "controller"=>"store"}
322
+ Product Load (0.000061) SELECT * FROM `products` WHERE (`products`.`id` = 1) 
323
+ Redirected to http://test.host/store
324
+ Completed in 0.00060 (1677 reqs/sec) | Rendering: 0.00406 (680%) | DB: 0.00037 (61%) | 302 Found [http://test.host/store]
325
+
326
+
327
+ Processing StoreController#index_erb (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
328
+ Session ID:
329
+ Parameters: {"action"=>"index_erb", "controller"=>"store"}
330
+ Product Load (0.000052) SELECT * FROM `products` ORDER BY title
331
+ Rendering template within layouts/store.rhtml
332
+ Rendering store/index.html.erb
333
+ Rendered store/_cart_item (0.00050)
334
+ Rendered store/_cart.html.erb (0.00114)
335
+ Completed in 0.00385 (259 reqs/sec) | Rendering: 0.00349 (90%) | DB: 0.00005 (1%) | 200 OK [http://test.host/store]
336
+
337
+
338
+ Processing StoreController#index (for 0.0.0.0 at 2008-03-03 17:33:30) [GET]
339
+ Session ID:
340
+ Parameters: {"action"=>"index", "controller"=>"store"}
341
+ Product Load (0.000069) SELECT * FROM `products` ORDER BY title
342
+ Rendering template within layouts/store
343
+ Rendering store/index
344
+ Rendered store/_cart_item (0.00044)
345
+ Rendered store/_cart (0.00126)
346
+ Completed in 0.00521 (191 reqs/sec) | Rendering: 0.00482 (92%) | DB: 0.00007 (1%) | 200 OK [http://test.host/store]
347
+ SQL (0.000096) ROLLBACK
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2
+ "http://www.w3.org/TR/html4/loose.dtd">
3
+ <!--
4
+ ! Excerpted from "Agile Web Development with Rails, 2nd Ed."
5
+ ! We make no guarantees that this code is fit for any purpose.
6
+ ! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
7
+ -->
8
+ <html>
9
+ <body>
10
+ <h1>File not found</h1>
11
+ <p>Change this error message for pages not found in public/404.html</p>
12
+ </body>
13
+ </html>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2
+ "http://www.w3.org/TR/html4/loose.dtd">
3
+ <!--
4
+ ! Excerpted from "Agile Web Development with Rails, 2nd Ed."
5
+ ! We make no guarantees that this code is fit for any purpose.
6
+ ! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
7
+ -->
8
+ <html>
9
+ <body>
10
+ <h1>Application error (Apache)</h1>
11
+ <p>Change this error message for exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code) in public/500.html</p>
12
+ </body>
13
+ </html>
@@ -0,0 +1,10 @@
1
+ #!/Users/dave/ruby1.8/bin/ruby
2
+
3
+ require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
4
+
5
+ # If you're using RubyGems and mod_ruby, this require should be changed to an absolute path one, like:
6
+ # "/usr/local/lib/ruby/gems/1.8/gems/rails-0.8.0/lib/dispatcher" -- otherwise performance is severely impaired
7
+ require "dispatcher"
8
+
9
+ ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir) } if defined?(Apache::RubyRun)
10
+ Dispatcher.dispatch
@@ -0,0 +1,24 @@
1
+ #!/Users/dave/ruby1.8/bin/ruby
2
+ #
3
+ # You may specify the path to the FastCGI crash log (a log of unhandled
4
+ # exceptions which forced the FastCGI instance to exit, great for debugging)
5
+ # and the number of requests to process before running garbage collection.
6
+ #
7
+ # By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log
8
+ # and the GC period is nil (turned off). A reasonable number of requests
9
+ # could range from 10-100 depending on the memory footprint of your app.
10
+ #
11
+ # Example:
12
+ # # Default log path, normal GC behavior.
13
+ # RailsFCGIHandler.process!
14
+ #
15
+ # # Default log path, 50 requests between GC.
16
+ # RailsFCGIHandler.process! nil, 50
17
+ #
18
+ # # Custom log path, normal GC behavior.
19
+ # RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log'
20
+ #
21
+ require File.dirname(__FILE__) + "/../config/environment"
22
+ require 'fcgi_handler'
23
+
24
+ RailsFCGIHandler.process!
File without changes
@@ -0,0 +1,282 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <!--
4
+ ! Excerpted from "Agile Web Development with Rails, 2nd Ed."
5
+ ! We make no guarantees that this code is fit for any purpose.
6
+ ! Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.
7
+ -->
8
+ <html>
9
+ <head>
10
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
11
+ <title>Ruby on Rails: Welcome aboard</title>
12
+ <style type="text/css" media="screen">
13
+ body {
14
+ margin: 0;
15
+ margin-bottom: 25px;
16
+ padding: 0;
17
+ background-color: #f0f0f0;
18
+ font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
19
+ font-size: 13px;
20
+ color: #333;
21
+ }
22
+
23
+ h1 {
24
+ font-size: 28px;
25
+ color: #000;
26
+ }
27
+
28
+ a {color: #03c}
29
+ a:hover {
30
+ background-color: #03c;
31
+ color: white;
32
+ text-decoration: none;
33
+ }
34
+
35
+
36
+ #page {
37
+ background-color: #f0f0f0;
38
+ width: 750px;
39
+ margin: 0;
40
+ margin-left: auto;
41
+ margin-right: auto;
42
+ }
43
+
44
+ #content {
45
+ float: left;
46
+ background-color: white;
47
+ border: 3px solid #aaa;
48
+ border-top: none;
49
+ padding: 25px;
50
+ width: 500px;
51
+ }
52
+
53
+ #sidebar {
54
+ float: right;
55
+ width: 175px;
56
+ }
57
+
58
+ #footer {
59
+ clear: both;
60
+ }
61
+
62
+
63
+ #header, #about, #getting-started {
64
+ padding-left: 75px;
65
+ padding-right: 30px;
66
+ }
67
+
68
+
69
+ #header {
70
+ background-image: url("images/rails.png");
71
+ background-repeat: no-repeat;
72
+ background-position: top left;
73
+ height: 64px;
74
+ }
75
+ #header h1, #header h2 {margin: 0}
76
+ #header h2 {
77
+ color: #888;
78
+ font-weight: normal;
79
+ font-size: 16px;
80
+ }
81
+
82
+
83
+ #about h3 {
84
+ margin: 0;
85
+ margin-bottom: 10px;
86
+ font-size: 14px;
87
+ }
88
+
89
+ #about-content {
90
+ background-color: #ffd;
91
+ border: 1px solid #fc0;
92
+ margin-left: -11px;
93
+ }
94
+ #about-content table {
95
+ margin-top: 10px;
96
+ margin-bottom: 10px;
97
+ font-size: 11px;
98
+ border-collapse: collapse;
99
+ }
100
+ #about-content td {
101
+ padding: 10px;
102
+ padding-top: 3px;
103
+ padding-bottom: 3px;
104
+ }
105
+ #about-content td.name {color: #555}
106
+ #about-content td.value {color: #000}
107
+
108
+ #about-content.failure {
109
+ background-color: #fcc;
110
+ border: 1px solid #f00;
111
+ }
112
+ #about-content.failure p {
113
+ margin: 0;
114
+ padding: 10px;
115
+ }
116
+
117
+
118
+ #getting-started {
119
+ border-top: 1px solid #ccc;
120
+ margin-top: 25px;
121
+ padding-top: 15px;
122
+ }
123
+ #getting-started h1 {
124
+ margin: 0;
125
+ font-size: 20px;
126
+ }
127
+ #getting-started h2 {
128
+ margin: 0;
129
+ font-size: 14px;
130
+ font-weight: normal;
131
+ color: #333;
132
+ margin-bottom: 25px;
133
+ }
134
+ #getting-started ol {
135
+ margin-left: 0;
136
+ padding-left: 0;
137
+ }
138
+ #getting-started li {
139
+ font-size: 18px;
140
+ color: #888;
141
+ margin-bottom: 25px;
142
+ }
143
+ #getting-started li h2 {
144
+ margin: 0;
145
+ font-weight: normal;
146
+ font-size: 18px;
147
+ color: #333;
148
+ }
149
+ #getting-started li p {
150
+ color: #555;
151
+ font-size: 13px;
152
+ }
153
+
154
+
155
+ #search {
156
+ margin: 0;
157
+ padding-top: 10px;
158
+ padding-bottom: 10px;
159
+ font-size: 11px;
160
+ }
161
+ #search input {
162
+ font-size: 11px;
163
+ margin: 2px;
164
+ }
165
+ #search-text {width: 170px}
166
+
167
+
168
+ #sidebar ul {
169
+ margin-left: 0;
170
+ padding-left: 0;
171
+ }
172
+ #sidebar ul h3 {
173
+ margin-top: 25px;
174
+ font-size: 16px;
175
+ padding-bottom: 10px;
176
+ border-bottom: 1px solid #ccc;
177
+ }
178
+ #sidebar li {
179
+ list-style-type: none;
180
+ }
181
+ #sidebar ul.links li {
182
+ margin-bottom: 5px;
183
+ }
184
+
185
+ </style>
186
+ <script type="text/javascript" src="javascripts/prototype.js"></script>
187
+ <script type="text/javascript" src="javascripts/effects.js"></script>
188
+ <script type="text/javascript">
189
+ function about() {
190
+ if (Element.empty('about-content')) {
191
+ new Ajax.Updater('about-content', 'rails_info/properties', {
192
+ method: 'get',
193
+ onFailure: function() {Element.classNames('about-content').add('failure')},
194
+ onComplete: function() {new Effect.BlindDown('about-content', {duration: 0.25})}
195
+ });
196
+ } else {
197
+ new Effect[Element.visible('about-content') ?
198
+ 'BlindUp' : 'BlindDown']('about-content', {duration: 0.25});
199
+ }
200
+ }
201
+
202
+ window.onload = function() {
203
+ $('search-text').value = '';
204
+ $('search').onsubmit = function() {
205
+ $('search-text').value = 'site:rubyonrails.org ' + $F('search-text');
206
+ }
207
+ }
208
+ </script>
209
+ </head>
210
+ <body>
211
+ <div id="page">
212
+ <div id="sidebar">
213
+ <ul id="sidebar-items">
214
+ <li>
215
+ <form id="search" action="http://www.google.com/search" method="get">
216
+ <input type="hidden" name="hl" value="en" />
217
+ <input type="text" id="search-text" name="q" value="site:rubyonrails.org " />
218
+ <input type="submit" value="Search" /> the Rails site
219
+ </form>
220
+ </li>
221
+
222
+ <li>
223
+ <h3>Join the community</h3>
224
+ <ul class="links">
225
+ <li><a href="http://www.rubyonrails.org/">Ruby on Rails</a></li>
226
+ <li><a href="http://weblog.rubyonrails.org/">Official weblog</a></li>
227
+ <li><a href="http://lists.rubyonrails.org/">Mailing lists</a></li>
228
+ <li><a href="http://wiki.rubyonrails.org/rails/pages/IRC">IRC channel</a></li>
229
+ <li><a href="http://wiki.rubyonrails.org/">Wiki</a></li>
230
+ <li><a href="http://dev.rubyonrails.org/">Bug tracker</a></li>
231
+ </ul>
232
+ </li>
233
+
234
+ <li>
235
+ <h3>Browse the documentation</h3>
236
+ <ul class="links">
237
+ <li><a href="http://api.rubyonrails.org/">Rails API</a></li>
238
+ <li><a href="http://www.ruby-doc.org/stdlib/">Ruby standard library</a></li>
239
+ <li><a href="http://www.ruby-doc.org/core/">Ruby core</a></li>
240
+ </ul>
241
+ </li>
242
+ </ul>
243
+ </div>
244
+
245
+ <div id="content">
246
+ <div id="header">
247
+ <h1>Welcome aboard</h1>
248
+ <h2>You&rsquo;re riding the Rails!</h2>
249
+ </div>
250
+
251
+ <div id="about">
252
+ <h3><a href="rails_info/properties" onclick="about(); return false">About your application&rsquo;s environment</a></h3>
253
+ <div id="about-content" style="display: none"></div>
254
+ </div>
255
+
256
+ <div id="getting-started">
257
+ <h1>Getting started</h1>
258
+ <h2>Here&rsquo;s how to get rolling:</h2>
259
+
260
+ <ol>
261
+ <li>
262
+ <h2>Create your databases and edit <tt>config/database.yml</tt></h2>
263
+ <p>Rails needs to know your login and password.</p>
264
+ </li>
265
+
266
+ <li>
267
+ <h2>Use <tt>script/generate</tt> to create your models and controllers</h2>
268
+ <p>To see all available options, run it without parameters.</p>
269
+ </li>
270
+
271
+ <li>
272
+ <h2>Set up a default route and remove or rename this file</h2>
273
+ <p>Routes are setup in config/routes.rb.</p>
274
+ </li>
275
+ </ol>
276
+ </div>
277
+ </div>
278
+
279
+ <div id="footer">&nbsp;</div>
280
+ </div>
281
+ </body>
282
+ </html>