trellis 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. data/History.txt +7 -0
  2. data/Manifest.txt +6 -181
  3. data/examples/crud_components/source/crud_components.rb +0 -1
  4. data/examples/examples.txt +32 -30
  5. data/examples/flickr/source/flickr.rb +0 -4
  6. data/examples/hangman/source/hangman.rb +1 -2
  7. data/examples/hilo/html/guess.xhtml +2 -2
  8. data/examples/hilo/source/hilo.rb +6 -6
  9. data/examples/routing/source/routing.rb +50 -0
  10. data/examples/stateful_counters/source/stateful_counters.rb +9 -4
  11. data/lib/trellis/{core_components.rb → component_library/core_components.rb} +48 -398
  12. data/lib/trellis/component_library/grid.rb +311 -0
  13. data/lib/trellis/{jquery.rb → component_library/jquery.rb} +0 -0
  14. data/lib/trellis/component_library/object_editor.rb +110 -0
  15. data/lib/trellis/trellis.rb +162 -52
  16. data/lib/trellis/utils.rb +9 -3
  17. data/lib/trellis/version.rb +1 -1
  18. data/tasks/rspec.rake +2 -1
  19. data/test/application_spec.rb +55 -30
  20. data/test/component_spec.rb +95 -81
  21. data/test/core_extensions_spec.rb +34 -2
  22. data/test/default_router_spec.rb +91 -0
  23. data/test/fixtures/application_spec_applications.rb +91 -3
  24. data/test/page_spec.rb +18 -8
  25. data/test/router_spec.rb +49 -49
  26. metadata +8 -185
  27. data/.git/COMMIT_EDITMSG +0 -1
  28. data/.git/HEAD +0 -1
  29. data/.git/config +0 -9
  30. data/.git/description +0 -1
  31. data/.git/hooks/applypatch-msg.sample +0 -15
  32. data/.git/hooks/commit-msg.sample +0 -24
  33. data/.git/hooks/post-commit.sample +0 -8
  34. data/.git/hooks/post-receive.sample +0 -15
  35. data/.git/hooks/post-update.sample +0 -8
  36. data/.git/hooks/pre-applypatch.sample +0 -14
  37. data/.git/hooks/pre-commit.sample +0 -18
  38. data/.git/hooks/pre-rebase.sample +0 -169
  39. data/.git/hooks/prepare-commit-msg.sample +0 -36
  40. data/.git/hooks/update.sample +0 -107
  41. data/.git/index +0 -0
  42. data/.git/info/exclude +0 -6
  43. data/.git/logs/HEAD +0 -1
  44. data/.git/logs/refs/heads/master +0 -1
  45. data/.git/logs/refs/remotes/origin/master +0 -1
  46. data/.git/objects/01/2368d4dd3162ed570e6c1423ecb07a6a35f8c0 +0 -0
  47. data/.git/objects/02/238c88c522b88e71529495460cc5c2c8abe110 +0 -0
  48. data/.git/objects/07/03d3b123189f1da72d3889d9340e681841c96d +0 -0
  49. data/.git/objects/0b/3935fdbf3ce8d37e6cb2a6ec94edaccb1c58dc +0 -0
  50. data/.git/objects/0f/ecd1ad35f280c874ce070b7a97a4c1f86ace54 +0 -0
  51. data/.git/objects/12/61911b063b7e6883c5e9db7ab4396183f6f2b5 +0 -0
  52. data/.git/objects/13/0b7e2d214ec198d07aeed5b462597670ce85ad +0 -0
  53. data/.git/objects/13/214d40f02b63f1233fd7881b1df9bb75d9c0a7 +0 -0
  54. data/.git/objects/14/7522bdc96af0b578935d81c1a7347b40573940 +0 -0
  55. data/.git/objects/16/a7fde706fe92b3548254d29722f5ca311ce63b +0 -2
  56. data/.git/objects/16/fe580663cc29d141bf416dff5bf21bf4ea42a3 +0 -0
  57. data/.git/objects/17/2d55806918bafb4e701515edb27147a4ef6498 +0 -0
  58. data/.git/objects/17/686ef1882ed6c3c07b781fab18739b1c5e48bd +0 -0
  59. data/.git/objects/17/824053c41a2cb523303e20cac42f66f9ca2134 +0 -0
  60. data/.git/objects/18/68448c5f88bc73b2fef6b8f3aa75b663013a3a +0 -1
  61. data/.git/objects/1a/6d9051dc4c7db10bdcf5e17c5cb717b072d30a +0 -0
  62. data/.git/objects/1a/8bdb445fb5668dcd1309cb9de5dedf846c822f +0 -0
  63. data/.git/objects/1b/6fa67b70358fdb82eabcd7ef3bc46d518d0426 +0 -0
  64. data/.git/objects/1c/f6510ed08a274fb3292d40557cebb3e7090767 +0 -0
  65. data/.git/objects/1d/e661ce11d5335e5dd7968ef5698e2eb164eb52 +0 -0
  66. data/.git/objects/1e/301ee672d6040e734af6d0a5491185129d7b67 +0 -0
  67. data/.git/objects/21/2201d46200f13d23d8199bd4a7ecc9165205b3 +0 -0
  68. data/.git/objects/22/f687370babdf38d224d2a9ff039707e8d0aac1 +0 -0
  69. data/.git/objects/24/202d2de95dc31f5f1802e629a16ad45b723267 +0 -0
  70. data/.git/objects/25/4c5b6b8d211d8b9f07310fd342fd7b078a81af +0 -0
  71. data/.git/objects/25/5832653fde9e9748855347fe7bce013aa0a6c7 +0 -0
  72. data/.git/objects/25/806945c89b4b5adb8c8676c308e4653361109c +0 -5
  73. data/.git/objects/26/cb8deaca28bf275769cbb71b88e53a44adb9ca +0 -0
  74. data/.git/objects/2e/1c13fb5f154f89cccd4c645540a2ec8ee0f57a +0 -0
  75. data/.git/objects/2f/437425b2c085bb529379e409d6b4bc7f9f9fba +0 -0
  76. data/.git/objects/2f/7cf4a25937b71f3de52e70c7a47cb2f7da07ea +0 -0
  77. data/.git/objects/31/31bdbbac6e6e7e24fd6ea84332461f67e6e5b6 +0 -0
  78. data/.git/objects/32/02e02de478263912b729283eabc7cdab8a8037 +0 -0
  79. data/.git/objects/32/839ed9baa8c800d9033655d1ee995499825fb5 +0 -0
  80. data/.git/objects/34/2e479c61796125b0e025b483401ec12f3c5824 +0 -2
  81. data/.git/objects/36/7acb017aebab3f627a5208c25885c21fa7fdbb +0 -0
  82. data/.git/objects/38/12910d2e2a8e6eeb79a399d20751675d3fbe77 +0 -0
  83. data/.git/objects/38/3fe1e1a07537db6e0f39c6005b7b4e40fa5ccd +0 -0
  84. data/.git/objects/39/5ef328bc94df9191f4d80a77503a5be9f1f673 +0 -0
  85. data/.git/objects/39/dc76dc096fdf737e9f4f7062b78cbf4ab9628f +0 -0
  86. data/.git/objects/3b/09eb196140b471556ed4c3987c0bc739733617 +0 -0
  87. data/.git/objects/3b/9f97f1bf55834832a92bab1ab900918dc49570 +0 -0
  88. data/.git/objects/40/5ffd3925b39dd905638ec24640dd8efa27cc1b +0 -0
  89. data/.git/objects/42/4a5f37c6fe3a7cac54b0f85688c1cce7da9cdf +0 -0
  90. data/.git/objects/44/9e23363d4e20da6a67be7ab78fc610b4e9852a +0 -0
  91. data/.git/objects/48/90bb5d241cecaa30b28148c920b833056c7508 +0 -0
  92. data/.git/objects/4c/558c43676410a2c0a7d5c7b94fca18923a9af1 +0 -0
  93. data/.git/objects/4f/bf572175dd5245104679ff8f676f6a34466c29 +0 -0
  94. data/.git/objects/53/8583edf00c9f656b32149a0e69e030371737c5 +0 -0
  95. data/.git/objects/5b/8a2c4bf7bb56ae199414096dbda21fd4b8cd63 +0 -0
  96. data/.git/objects/5c/9fe8ff998d56dc076657ef88ee9f784ec160f9 +0 -0
  97. data/.git/objects/5f/8441f9d3507587940f31af04dd9fd5911d2812 +0 -0
  98. data/.git/objects/61/4f2752550e63b793e31dcf98b5ea26c32eb0be +0 -0
  99. data/.git/objects/65/801b0fabdfd673861dbb2ac134d438ab2cc5e4 +0 -3
  100. data/.git/objects/66/2746dffaddbcd311f4ac070b5b9bddcd8894a7 +0 -0
  101. data/.git/objects/69/1ed3b65603a0d0dabfb66720e7163664be78f5 +0 -0
  102. data/.git/objects/69/3dc3b6037df8c1c8dfda916d649e7975481124 +0 -0
  103. data/.git/objects/69/67538427b3a371b33c01c72726ac7e67a04c39 +0 -0
  104. data/.git/objects/69/6cd6c3508e2adcc68829497884ff3d4b774dc2 +0 -0
  105. data/.git/objects/69/6ee93917040308ccd0bfc245d63c1cbeb23dae +0 -0
  106. data/.git/objects/6a/3ac317746a8a2cfc88f3580bbd2b03dc0d50b5 +0 -0
  107. data/.git/objects/6d/6ba435839a65b96cb3f7584a40dd3767a0990f +0 -0
  108. data/.git/objects/6f/32c190a651a82caeefeb55eb797fc5daf05426 +0 -0
  109. data/.git/objects/71/fecbce1bec36eaf4de655763d4bb7ceffc991d +0 -0
  110. data/.git/objects/72/01d78a9e90347fd2f7790f9e8665587791d853 +0 -0
  111. data/.git/objects/73/6c97d6a551363ba4a4956408ba228fcab7f91f +0 -0
  112. data/.git/objects/75/3264271e935e18f4eada49aa1818c6fb9e6abb +0 -0
  113. data/.git/objects/75/cc7d390b4a565495cbdc5a08d4479e7e8dbfeb +0 -0
  114. data/.git/objects/76/7c0c96f68b9ccec34ae538045a63bbe4f97d3e +0 -0
  115. data/.git/objects/7b/47fe9b1ab9f2692b9706054de706430089ecd4 +0 -0
  116. data/.git/objects/7c/73144ef6847d1bc2315aee0925c0e5cf5c09d1 +0 -0
  117. data/.git/objects/7d/9c177c155386606aa1024d5cb020a097eea64a +0 -0
  118. data/.git/objects/7d/e9a3296007c09ba9b7bc1802e1c5d9ad1d5dbb +0 -0
  119. data/.git/objects/7e/b73d408147c8d84881109189a9724292abcb8d +0 -0
  120. data/.git/objects/82/0e3bf5449a8f6b8eb637a653dcb2dc387b393c +0 -0
  121. data/.git/objects/83/a10ce96763cb30d0b81425e9372f89c52f4c9f +0 -0
  122. data/.git/objects/83/bdb801e78444d59225f83cf2f336f114cd23cf +0 -0
  123. data/.git/objects/85/24e583e822abc18b1ffdd0aa356c9c079b5548 +0 -0
  124. data/.git/objects/88/b46cc8de5237897d4ba5023d3efdc83fec4f7c +0 -0
  125. data/.git/objects/89/5eea66474f48a2cbf643ad0ef266fd26f9d2a3 +0 -0
  126. data/.git/objects/8a/539c5fc35d5b770d67241d2ccb6c6855df6a43 +0 -0
  127. data/.git/objects/8a/82cdbfb20cc58fdffe4e13b70b55977deb92c6 +0 -0
  128. data/.git/objects/8b/2b537442e4ac8719ffa71b3ae0c707133df06f +0 -0
  129. data/.git/objects/8c/2a45f0c81284a081f8d7980e9a54210a9dd52c +0 -0
  130. data/.git/objects/8e/10355b4ab312450031966107ef6a65b13833ee +0 -0
  131. data/.git/objects/90/f6c76767ae725f15fa6790dcb6afd1719fa0e2 +0 -0
  132. data/.git/objects/92/92b696aba9840c089241c68d4c6ca14be38a64 +0 -2
  133. data/.git/objects/93/e03faa6906892434fa9f2ad230c4ececc64055 +0 -0
  134. data/.git/objects/93/eca2e28d80fda45d327fdfc6c39ae690af41cd +0 -0
  135. data/.git/objects/95/92fe63bd5403654730cdec76cbf116ef83bbff +0 -0
  136. data/.git/objects/96/bc6dd471c1c188a2eb4308bcc3ca4e6c8faac8 +0 -0
  137. data/.git/objects/96/d855221a9ff4fba57d2b70680b57bd5115cfde +0 -0
  138. data/.git/objects/97/4ec92b2b9eb01a73fb57dc78d463cafdda69a7 +0 -0
  139. data/.git/objects/97/b7ec01ebe089832a0972d20b0a40d54456985c +0 -2
  140. data/.git/objects/97/fa6aaae4cfc7654feb39971e7aee5c41ed1679 +0 -1
  141. data/.git/objects/98/18351c6685a1df5d23686e6346d11d261cc6f0 +0 -0
  142. data/.git/objects/98/3d3b7e55cbbce2f2a52c6e6d830a5dca7b4d42 +0 -0
  143. data/.git/objects/a2/e551049a5388112c21e7f3a4a720bf720601fa +0 -0
  144. data/.git/objects/a3/7066bea4fae90d34761a3ebb3f8a348d94eba1 +0 -0
  145. data/.git/objects/a6/c99619145d1b9b75aa15ca04fbe4db0b2ee79b +0 -0
  146. data/.git/objects/aa/e2234d0a8c1485096c7a7de039eceb4e019e13 +0 -0
  147. data/.git/objects/b0/3b52f4269c9719e02ecd6caabd8aff5adf3aac +0 -0
  148. data/.git/objects/b1/50dbbd89f825302a9e82d8fdd66f238b8e6fc4 +0 -0
  149. data/.git/objects/b4/545fbe393aaa18f1c48de4d9f68f64ebf09ddc +0 -0
  150. data/.git/objects/b6/8691404e088692929d40b988b993f815d76756 +0 -0
  151. data/.git/objects/b7/daa3d844ef5f5cd917084e48edd82e67f8f476 +0 -0
  152. data/.git/objects/bf/4232281dba5a0f17e8b5c16b9cbd0f52274fa8 +0 -0
  153. data/.git/objects/bf/9b84d10f19188beffe5ee99e6f5af035ba77d3 +0 -2
  154. data/.git/objects/c0/06e664b306145de804f74ab27550d62a92f58a +0 -1
  155. data/.git/objects/c2/2806b16775f66453012d085d21fb8698521ea9 +0 -0
  156. data/.git/objects/c2/7f6559350f7adb19d43742b55b2f91d07b6550 +0 -0
  157. data/.git/objects/c3/833df21ed674a77374fd40ed931f900134d38b +0 -0
  158. data/.git/objects/c3/b9da021eb76abad0b17ad6c4be75595e41a7e6 +0 -0
  159. data/.git/objects/c5/ca6b7e3561ea88aba1712aabb984d1167787f1 +0 -0
  160. data/.git/objects/c6/39f65e1f43c75b7f57c5ab28623d295dfb2afd +0 -0
  161. data/.git/objects/c8/6f05fa5539f8e69e94850d1cd917919ff581be +0 -0
  162. data/.git/objects/cb/5e499c8dcc6f2901014a08e74f04b7a4bd6596 +0 -0
  163. data/.git/objects/cc/1289d25eeee6ba31b4e406372cb9abf969fc6f +0 -0
  164. data/.git/objects/cc/784e1b49111c42fa7eae10ad0e788186e672d1 +0 -0
  165. data/.git/objects/cc/bcae254dad515d7ef01a461980544e4483c41e +0 -0
  166. data/.git/objects/ce/bfadad3a7c17148998e04275e6d0d1cf1b2e1e +0 -0
  167. data/.git/objects/ce/f3335522abdc47a2c94be70455dcfaa9a51a27 +0 -0
  168. data/.git/objects/cf/6add7ea568d3d90d6a1f8afb0898b0119b14ff +0 -0
  169. data/.git/objects/d0/719abd196033fec0e4cbe2af68a26ca435389c +0 -0
  170. data/.git/objects/d1/ce63ff0eaec4dba419e5547f99195dfb9b5b20 +0 -0
  171. data/.git/objects/d2/c3feb3c74b892cca0049c0aced6ce786a784c8 +0 -0
  172. data/.git/objects/d7/8a91da13413419da71b539a3c6c7df4d8a2458 +0 -0
  173. data/.git/objects/d8/c7bed2b1357d54b6935536a8a51a3c73d535b4 +0 -0
  174. data/.git/objects/da/c3a1277ccb4806011e33eb32c5609cc45c46f2 +0 -0
  175. data/.git/objects/dc/3f920f4b937d0e2ac512f0bb31d477624c46d5 +0 -0
  176. data/.git/objects/dc/6c389abf5bd0d7b9be2a6bb6af90738a410e59 +0 -0
  177. data/.git/objects/df/07c423309f39c4d5570b0fad65dff23af654ae +0 -0
  178. data/.git/objects/e2/93a5c9e2257b9f3fcb8fa5d5c8147a2f07ba1b +0 -0
  179. data/.git/objects/e4/8464df56bf487e96e21ea99487330266dae3c9 +0 -0
  180. data/.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  181. data/.git/objects/e8/0c13a1d1f62756fb9f1e4fb9f7512e5b8c5816 +0 -0
  182. data/.git/objects/e9/b8ade2125b2615ddc4c8043940c40ed36215c9 +0 -0
  183. data/.git/objects/ed/59a7599a81ef7ea7c230c3332345a3484febf8 +0 -0
  184. data/.git/objects/f0/d2a74226877e9a28af814d0d3727e4a3487439 +0 -0
  185. data/.git/objects/f0/f3ba7264f1d8e60eb93a907092af98fdc248e4 +0 -0
  186. data/.git/objects/f1/cdcc7ff2dc6298318523b2c4e425f515a58bf7 +0 -3
  187. data/.git/objects/f4/45c96f406f4d2f9839b3fe2fe8bc7f943ab469 +0 -0
  188. data/.git/objects/f7/eef7ce0a650d6f0c85dc4982f481da7bd44362 +0 -0
  189. data/.git/objects/f9/0abf96c5059ce1ba115f73bc9cf33e4663b3e1 +0 -0
  190. data/.git/objects/f9/cf7ae572eaebbd63f809f16a5ef14b9c679790 +0 -0
  191. data/.git/objects/fc/300df53fe2c9467210e2fd4c2f34e1c9c7c89a +0 -0
  192. data/.git/objects/fc/45546596ab8debc4c9f49a7abc7fc14a7bcc7f +0 -4
  193. data/.git/objects/fc/68d89167f69614eda17bd56dfccb4355d818e6 +0 -0
  194. data/.git/objects/fc/e4c02bb132e73b3cb957da182db7b75a47c242 +0 -0
  195. data/.git/objects/fe/be283da7f326344013f1fc847c12c8f29ab6ef +0 -0
  196. data/.git/refs/heads/master +0 -1
  197. data/.git/refs/remotes/origin/master +0 -1
  198. data/.gitignore +0 -5
  199. data/README.txt +0 -156
  200. data/examples/simplest/html/start.xhtml +0 -0
  201. data/website/index.html +0 -124
  202. data/website/index.txt +0 -119
  203. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  204. data/website/stylesheets/screen.css +0 -138
  205. data/website/template.html.erb +0 -48
data/History.txt CHANGED
@@ -1,3 +1,10 @@
1
+ == 0.0.2 2009-09-19
2
+
3
+ * 3 major enhancements:
4
+ * event subsystem revamped
5
+ * custom routing
6
+ * more tests!
7
+
1
8
  == 0.0.1 2009-08-29
2
9
 
3
10
  * 1 major enhancement:
data/Manifest.txt CHANGED
@@ -1,180 +1,7 @@
1
- .git/COMMIT_EDITMSG
2
- .git/HEAD
3
- .git/config
4
- .git/description
5
- .git/hooks/applypatch-msg.sample
6
- .git/hooks/commit-msg.sample
7
- .git/hooks/post-commit.sample
8
- .git/hooks/post-receive.sample
9
- .git/hooks/post-update.sample
10
- .git/hooks/pre-applypatch.sample
11
- .git/hooks/pre-commit.sample
12
- .git/hooks/pre-rebase.sample
13
- .git/hooks/prepare-commit-msg.sample
14
- .git/hooks/update.sample
15
- .git/index
16
- .git/info/exclude
17
- .git/logs/HEAD
18
- .git/logs/refs/heads/master
19
- .git/logs/refs/remotes/origin/master
20
- .git/objects/01/2368d4dd3162ed570e6c1423ecb07a6a35f8c0
21
- .git/objects/02/238c88c522b88e71529495460cc5c2c8abe110
22
- .git/objects/07/03d3b123189f1da72d3889d9340e681841c96d
23
- .git/objects/0b/3935fdbf3ce8d37e6cb2a6ec94edaccb1c58dc
24
- .git/objects/0f/ecd1ad35f280c874ce070b7a97a4c1f86ace54
25
- .git/objects/12/61911b063b7e6883c5e9db7ab4396183f6f2b5
26
- .git/objects/13/0b7e2d214ec198d07aeed5b462597670ce85ad
27
- .git/objects/13/214d40f02b63f1233fd7881b1df9bb75d9c0a7
28
- .git/objects/14/7522bdc96af0b578935d81c1a7347b40573940
29
- .git/objects/16/a7fde706fe92b3548254d29722f5ca311ce63b
30
- .git/objects/16/fe580663cc29d141bf416dff5bf21bf4ea42a3
31
- .git/objects/17/2d55806918bafb4e701515edb27147a4ef6498
32
- .git/objects/17/686ef1882ed6c3c07b781fab18739b1c5e48bd
33
- .git/objects/17/824053c41a2cb523303e20cac42f66f9ca2134
34
- .git/objects/18/68448c5f88bc73b2fef6b8f3aa75b663013a3a
35
- .git/objects/1a/6d9051dc4c7db10bdcf5e17c5cb717b072d30a
36
- .git/objects/1a/8bdb445fb5668dcd1309cb9de5dedf846c822f
37
- .git/objects/1b/6fa67b70358fdb82eabcd7ef3bc46d518d0426
38
- .git/objects/1c/f6510ed08a274fb3292d40557cebb3e7090767
39
- .git/objects/1d/e661ce11d5335e5dd7968ef5698e2eb164eb52
40
- .git/objects/1e/301ee672d6040e734af6d0a5491185129d7b67
41
- .git/objects/21/2201d46200f13d23d8199bd4a7ecc9165205b3
42
- .git/objects/22/f687370babdf38d224d2a9ff039707e8d0aac1
43
- .git/objects/24/202d2de95dc31f5f1802e629a16ad45b723267
44
- .git/objects/25/4c5b6b8d211d8b9f07310fd342fd7b078a81af
45
- .git/objects/25/5832653fde9e9748855347fe7bce013aa0a6c7
46
- .git/objects/25/806945c89b4b5adb8c8676c308e4653361109c
47
- .git/objects/26/cb8deaca28bf275769cbb71b88e53a44adb9ca
48
- .git/objects/2e/1c13fb5f154f89cccd4c645540a2ec8ee0f57a
49
- .git/objects/2f/437425b2c085bb529379e409d6b4bc7f9f9fba
50
- .git/objects/2f/7cf4a25937b71f3de52e70c7a47cb2f7da07ea
51
- .git/objects/31/31bdbbac6e6e7e24fd6ea84332461f67e6e5b6
52
- .git/objects/32/02e02de478263912b729283eabc7cdab8a8037
53
- .git/objects/32/839ed9baa8c800d9033655d1ee995499825fb5
54
- .git/objects/34/2e479c61796125b0e025b483401ec12f3c5824
55
- .git/objects/36/7acb017aebab3f627a5208c25885c21fa7fdbb
56
- .git/objects/38/12910d2e2a8e6eeb79a399d20751675d3fbe77
57
- .git/objects/38/3fe1e1a07537db6e0f39c6005b7b4e40fa5ccd
58
- .git/objects/39/5ef328bc94df9191f4d80a77503a5be9f1f673
59
- .git/objects/39/dc76dc096fdf737e9f4f7062b78cbf4ab9628f
60
- .git/objects/3b/09eb196140b471556ed4c3987c0bc739733617
61
- .git/objects/3b/9f97f1bf55834832a92bab1ab900918dc49570
62
- .git/objects/40/5ffd3925b39dd905638ec24640dd8efa27cc1b
63
- .git/objects/42/4a5f37c6fe3a7cac54b0f85688c1cce7da9cdf
64
- .git/objects/44/9e23363d4e20da6a67be7ab78fc610b4e9852a
65
- .git/objects/48/90bb5d241cecaa30b28148c920b833056c7508
66
- .git/objects/4c/558c43676410a2c0a7d5c7b94fca18923a9af1
67
- .git/objects/4f/bf572175dd5245104679ff8f676f6a34466c29
68
- .git/objects/53/8583edf00c9f656b32149a0e69e030371737c5
69
- .git/objects/5b/8a2c4bf7bb56ae199414096dbda21fd4b8cd63
70
- .git/objects/5c/9fe8ff998d56dc076657ef88ee9f784ec160f9
71
- .git/objects/5f/8441f9d3507587940f31af04dd9fd5911d2812
72
- .git/objects/61/4f2752550e63b793e31dcf98b5ea26c32eb0be
73
- .git/objects/65/801b0fabdfd673861dbb2ac134d438ab2cc5e4
74
- .git/objects/66/2746dffaddbcd311f4ac070b5b9bddcd8894a7
75
- .git/objects/69/1ed3b65603a0d0dabfb66720e7163664be78f5
76
- .git/objects/69/3dc3b6037df8c1c8dfda916d649e7975481124
77
- .git/objects/69/67538427b3a371b33c01c72726ac7e67a04c39
78
- .git/objects/69/6cd6c3508e2adcc68829497884ff3d4b774dc2
79
- .git/objects/69/6ee93917040308ccd0bfc245d63c1cbeb23dae
80
- .git/objects/6a/3ac317746a8a2cfc88f3580bbd2b03dc0d50b5
81
- .git/objects/6d/6ba435839a65b96cb3f7584a40dd3767a0990f
82
- .git/objects/6f/32c190a651a82caeefeb55eb797fc5daf05426
83
- .git/objects/71/fecbce1bec36eaf4de655763d4bb7ceffc991d
84
- .git/objects/72/01d78a9e90347fd2f7790f9e8665587791d853
85
- .git/objects/73/6c97d6a551363ba4a4956408ba228fcab7f91f
86
- .git/objects/75/3264271e935e18f4eada49aa1818c6fb9e6abb
87
- .git/objects/75/cc7d390b4a565495cbdc5a08d4479e7e8dbfeb
88
- .git/objects/76/7c0c96f68b9ccec34ae538045a63bbe4f97d3e
89
- .git/objects/7b/47fe9b1ab9f2692b9706054de706430089ecd4
90
- .git/objects/7c/73144ef6847d1bc2315aee0925c0e5cf5c09d1
91
- .git/objects/7d/9c177c155386606aa1024d5cb020a097eea64a
92
- .git/objects/7d/e9a3296007c09ba9b7bc1802e1c5d9ad1d5dbb
93
- .git/objects/7e/b73d408147c8d84881109189a9724292abcb8d
94
- .git/objects/82/0e3bf5449a8f6b8eb637a653dcb2dc387b393c
95
- .git/objects/83/a10ce96763cb30d0b81425e9372f89c52f4c9f
96
- .git/objects/83/bdb801e78444d59225f83cf2f336f114cd23cf
97
- .git/objects/85/24e583e822abc18b1ffdd0aa356c9c079b5548
98
- .git/objects/88/b46cc8de5237897d4ba5023d3efdc83fec4f7c
99
- .git/objects/89/5eea66474f48a2cbf643ad0ef266fd26f9d2a3
100
- .git/objects/8a/539c5fc35d5b770d67241d2ccb6c6855df6a43
101
- .git/objects/8a/82cdbfb20cc58fdffe4e13b70b55977deb92c6
102
- .git/objects/8b/2b537442e4ac8719ffa71b3ae0c707133df06f
103
- .git/objects/8c/2a45f0c81284a081f8d7980e9a54210a9dd52c
104
- .git/objects/8e/10355b4ab312450031966107ef6a65b13833ee
105
- .git/objects/90/f6c76767ae725f15fa6790dcb6afd1719fa0e2
106
- .git/objects/92/92b696aba9840c089241c68d4c6ca14be38a64
107
- .git/objects/93/e03faa6906892434fa9f2ad230c4ececc64055
108
- .git/objects/93/eca2e28d80fda45d327fdfc6c39ae690af41cd
109
- .git/objects/95/92fe63bd5403654730cdec76cbf116ef83bbff
110
- .git/objects/96/bc6dd471c1c188a2eb4308bcc3ca4e6c8faac8
111
- .git/objects/96/d855221a9ff4fba57d2b70680b57bd5115cfde
112
- .git/objects/97/4ec92b2b9eb01a73fb57dc78d463cafdda69a7
113
- .git/objects/97/b7ec01ebe089832a0972d20b0a40d54456985c
114
- .git/objects/97/fa6aaae4cfc7654feb39971e7aee5c41ed1679
115
- .git/objects/98/18351c6685a1df5d23686e6346d11d261cc6f0
116
- .git/objects/98/3d3b7e55cbbce2f2a52c6e6d830a5dca7b4d42
117
- .git/objects/a2/e551049a5388112c21e7f3a4a720bf720601fa
118
- .git/objects/a3/7066bea4fae90d34761a3ebb3f8a348d94eba1
119
- .git/objects/a6/c99619145d1b9b75aa15ca04fbe4db0b2ee79b
120
- .git/objects/aa/e2234d0a8c1485096c7a7de039eceb4e019e13
121
- .git/objects/b0/3b52f4269c9719e02ecd6caabd8aff5adf3aac
122
- .git/objects/b1/50dbbd89f825302a9e82d8fdd66f238b8e6fc4
123
- .git/objects/b4/545fbe393aaa18f1c48de4d9f68f64ebf09ddc
124
- .git/objects/b6/8691404e088692929d40b988b993f815d76756
125
- .git/objects/b7/daa3d844ef5f5cd917084e48edd82e67f8f476
126
- .git/objects/bf/4232281dba5a0f17e8b5c16b9cbd0f52274fa8
127
- .git/objects/bf/9b84d10f19188beffe5ee99e6f5af035ba77d3
128
- .git/objects/c0/06e664b306145de804f74ab27550d62a92f58a
129
- .git/objects/c2/2806b16775f66453012d085d21fb8698521ea9
130
- .git/objects/c2/7f6559350f7adb19d43742b55b2f91d07b6550
131
- .git/objects/c3/833df21ed674a77374fd40ed931f900134d38b
132
- .git/objects/c3/b9da021eb76abad0b17ad6c4be75595e41a7e6
133
- .git/objects/c5/ca6b7e3561ea88aba1712aabb984d1167787f1
134
- .git/objects/c6/39f65e1f43c75b7f57c5ab28623d295dfb2afd
135
- .git/objects/c8/6f05fa5539f8e69e94850d1cd917919ff581be
136
- .git/objects/cb/5e499c8dcc6f2901014a08e74f04b7a4bd6596
137
- .git/objects/cc/1289d25eeee6ba31b4e406372cb9abf969fc6f
138
- .git/objects/cc/784e1b49111c42fa7eae10ad0e788186e672d1
139
- .git/objects/cc/bcae254dad515d7ef01a461980544e4483c41e
140
- .git/objects/ce/bfadad3a7c17148998e04275e6d0d1cf1b2e1e
141
- .git/objects/ce/f3335522abdc47a2c94be70455dcfaa9a51a27
142
- .git/objects/cf/6add7ea568d3d90d6a1f8afb0898b0119b14ff
143
- .git/objects/d0/719abd196033fec0e4cbe2af68a26ca435389c
144
- .git/objects/d1/ce63ff0eaec4dba419e5547f99195dfb9b5b20
145
- .git/objects/d2/c3feb3c74b892cca0049c0aced6ce786a784c8
146
- .git/objects/d7/8a91da13413419da71b539a3c6c7df4d8a2458
147
- .git/objects/d8/c7bed2b1357d54b6935536a8a51a3c73d535b4
148
- .git/objects/da/c3a1277ccb4806011e33eb32c5609cc45c46f2
149
- .git/objects/dc/3f920f4b937d0e2ac512f0bb31d477624c46d5
150
- .git/objects/dc/6c389abf5bd0d7b9be2a6bb6af90738a410e59
151
- .git/objects/df/07c423309f39c4d5570b0fad65dff23af654ae
152
- .git/objects/e2/93a5c9e2257b9f3fcb8fa5d5c8147a2f07ba1b
153
- .git/objects/e4/8464df56bf487e96e21ea99487330266dae3c9
154
- .git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
155
- .git/objects/e8/0c13a1d1f62756fb9f1e4fb9f7512e5b8c5816
156
- .git/objects/e9/b8ade2125b2615ddc4c8043940c40ed36215c9
157
- .git/objects/ed/59a7599a81ef7ea7c230c3332345a3484febf8
158
- .git/objects/f0/d2a74226877e9a28af814d0d3727e4a3487439
159
- .git/objects/f0/f3ba7264f1d8e60eb93a907092af98fdc248e4
160
- .git/objects/f1/cdcc7ff2dc6298318523b2c4e425f515a58bf7
161
- .git/objects/f4/45c96f406f4d2f9839b3fe2fe8bc7f943ab469
162
- .git/objects/f7/eef7ce0a650d6f0c85dc4982f481da7bd44362
163
- .git/objects/f9/0abf96c5059ce1ba115f73bc9cf33e4663b3e1
164
- .git/objects/f9/cf7ae572eaebbd63f809f16a5ef14b9c679790
165
- .git/objects/fc/300df53fe2c9467210e2fd4c2f34e1c9c7c89a
166
- .git/objects/fc/45546596ab8debc4c9f49a7abc7fc14a7bcc7f
167
- .git/objects/fc/68d89167f69614eda17bd56dfccb4355d818e6
168
- .git/objects/fc/e4c02bb132e73b3cb957da182db7b75a47c242
169
- .git/objects/fe/be283da7f326344013f1fc847c12c8f29ab6ef
170
- .git/refs/heads/master
171
- .git/refs/remotes/origin/master
172
- .gitignore
173
1
  History.txt
174
2
  License.txt
175
3
  Manifest.txt
176
4
  README
177
- README.txt
178
5
  Rakefile
179
6
  config/hoe.rb
180
7
  config/requirements.rb
@@ -254,14 +81,16 @@ examples/hilo/html/game_over.xhtml
254
81
  examples/hilo/html/guess.xhtml
255
82
  examples/hilo/html/start.xhtml
256
83
  examples/hilo/source/hilo.rb
257
- examples/simplest/html/start.xhtml
84
+ examples/routing/source/routing.rb
258
85
  examples/simplest/source/simplest.rb
259
86
  examples/stateful_counters/html/counters.xhtml
260
87
  examples/stateful_counters/html/style/main.css
261
88
  examples/stateful_counters/source/stateful_counters.rb
262
89
  lib/trellis.rb
263
- lib/trellis/core_components.rb
264
- lib/trellis/jquery.rb
90
+ lib/trellis/component_library/core_components.rb
91
+ lib/trellis/component_library/grid.rb
92
+ lib/trellis/component_library/jquery.rb
93
+ lib/trellis/component_library/object_editor.rb
265
94
  lib/trellis/logging.rb
266
95
  lib/trellis/trellis.rb
267
96
  lib/trellis/utils.rb
@@ -278,14 +107,10 @@ tasks/website.rake
278
107
  test/application_spec.rb
279
108
  test/component_spec.rb
280
109
  test/core_extensions_spec.rb
110
+ test/default_router_spec.rb
281
111
  test/fixtures/application_spec_applications.rb
282
112
  test/page_spec.rb
283
113
  test/renderer_spec.rb
284
114
  test/router_spec.rb
285
115
  test/spec.opts
286
116
  test/spec_helper.rb
287
- website/index.html
288
- website/index.txt
289
- website/javascripts/rounded_corners_lite.inc.js
290
- website/stylesheets/screen.css
291
- website/template.html.erb
@@ -36,7 +36,6 @@ module ObjectEditor
36
36
 
37
37
  class CrudComponentsExample < Application
38
38
  home :addresses
39
- pages :address_edit_view
40
39
 
41
40
  map_static ['/images', '/style', '/favicon.ico']
42
41
  end
@@ -8,54 +8,56 @@ The simplest possible application to prove that Trellis is generating dynamic
8
8
  HTML. The date and time in the middle of the page changes with every page
9
9
  refresh proving that this is a live application.
10
10
 
11
- guest_book
12
- ==========
13
- see http://wicket.apache.org/exampleguestbook.html
11
+ hilo
12
+ ====
13
+ see http://tapestry.apache.org/tapestry5/tutorial1/hilo.html
14
14
 
15
- This application show the basic form handling and page persistent fields.
16
- The GuestBook application allows users to enter a comments. On submission the
17
- page gets re-rendered showing the list of comments entered so far. The list of
18
- comments is kept in the session.
15
+ In the game, the computer selects a number between 1 and 10. You try and guess
16
+ the number, clicking links. At the end, the computer tells you how many guesses
17
+ you required.
19
18
 
20
19
  hangman
21
20
  =======
22
21
  see http://rifers.org/examples#D.10
23
22
 
24
- Hangman is a simple word game in which the system selects a secret target word;
25
- the player attempts to guess the word and is only allow 5 incorrect guesses. The
26
- game is over when the word is guessed or the user has exhausted the maximum
23
+ Hangman is a simple word game in which the system selects a secret target word;
24
+ the player attempts to guess the word and is only allow 5 incorrect guesses. The
25
+ game is over when the word is guessed or the user has exhausted the maximum
27
26
  number of incorrect guesses.
28
27
 
29
- hilo
30
- ====
31
- see http://tapestry.apache.org/tapestry5/tutorial1/hilo.html
32
-
33
- In the game, the computer selects a number between 1 and 10. You try and guess
34
- the number, clicking links. At the end, the computer tells you how many guesses
35
- you required.
28
+ guest_book
29
+ ==========
30
+ see http://wicket.apache.org/exampleguestbook.html
36
31
 
37
- simple_blog (work in progress)
38
- ===========
39
- see http://code.whytheluckystiff.net/camping/browser/trunk/examples/blog.rb
32
+ This application show the basic form handling and page persistent fields.
33
+ The GuestBook application allows users to enter a comment. On submission the
34
+ page gets re-rendered showing the list of comments entered so far. The list of
35
+ comments is kept in the session.
40
36
 
41
- A database-backed simple blog. It provides Articles and Comments. Articles
42
- belong to User and a Category. The edit actions/page behavior are protected.
43
- Uses datamapped in standalone mode (no integration with the framework has been
44
- created)
37
+ flickr
38
+ ======
39
+ This application uses a custom stateless component that connects to the flickr
40
+ image service api and retrieves several interesting pictures. Refresh the page
41
+ to get more images
45
42
 
46
43
  stateful_counters
47
44
  =================
48
45
  see http://www.seaside.st/about/examples/multicounter
49
46
  see http://rifers.org/examples#D.9
50
47
 
51
- Example of a component (a simple counter) and how you can build and embed
52
- multiple components in a page
48
+ Example of a custom stateful component (a simple counter) and how you can build
49
+ and embed multiple components in a page
50
+
51
+ crud_components
52
+ ===============
53
+ Shows the work in progress on a simple pageable/sortable data grid and an object
54
+ editor
55
+
56
+ routing
57
+ =======
58
+ Shows examples of custom page routing in Trellis
53
59
 
54
- triki (work in progress)
55
- =====
56
- see http://mongrel.rubyforge.org/browser/trunk/examples/camping/tepee.rb
57
60
 
58
- A Trellis little Wiki, supporting versioning and Textile/Markdown
59
61
 
60
62
 
61
63
 
@@ -73,10 +73,6 @@ module Flickr
73
73
  p {
74
74
  text "<trellis:flickr_interestingness/>"
75
75
  }
76
- # h2 "and some more.."
77
- # p {
78
- # text "<trellis:flickr_interestingness per_page='2'/>"
79
- # }
80
76
  }
81
77
  }
82
78
  end
@@ -6,7 +6,6 @@ include Trellis
6
6
  module Hangman
7
7
  class HangmanGame < Application
8
8
  home :start
9
- pages :guess, :game_over
10
9
 
11
10
  map_static ['/images', '/style', '/favicon.ico']
12
11
  end
@@ -63,7 +62,7 @@ module Hangman
63
62
  end
64
63
 
65
64
  class GameOver < Page
66
- attr_accessor :target, :win, :guesses_left
65
+ persistent :target, :win, :guesses_left
67
66
  end
68
67
 
69
68
  web_app = HangmanGame.new
@@ -11,8 +11,8 @@
11
11
 
12
12
  <trellis:loop source="1..10" value="guess">
13
13
  <trellis:action_link tid="link" context="guess">
14
- <trellis:value name="guess">guess</trellis:value>
15
- </trellis:action_link>
14
+ <trellis:value name="guess">guess</trellis:value>
15
+ </trellis:action_link>
16
16
  </trellis:loop>
17
17
  </body>
18
18
  </html>
@@ -7,15 +7,14 @@ module HiLo
7
7
 
8
8
  class HiLoGame < Application
9
9
  home :start
10
- pages :guess, :game_over
10
+ logger.level = DEBUG
11
11
  end
12
12
 
13
13
  class Start < Page
14
14
  pages :guess
15
15
 
16
16
  def on_select
17
- @guess.target = rand(10);
18
- return @guess
17
+ @guess.initialize_target
19
18
  end
20
19
  end
21
20
 
@@ -37,13 +36,14 @@ module HiLo
37
36
  next_page
38
37
  end
39
38
 
40
- def target=(value)
41
- @target, @count, @message = value, 0, ''
39
+ def initialize_target
40
+ @target, @count, @message = rand(9) + 1, 0, ''
41
+ self
42
42
  end
43
43
  end
44
44
 
45
45
  class GameOver < Page
46
- attr_accessor :count
46
+ persistent :count
47
47
  end
48
48
 
49
49
  web_app = HiLoGame.new
@@ -0,0 +1,50 @@
1
+ require 'rubygems'
2
+ require 'trellis'
3
+
4
+ include Trellis
5
+
6
+ module Routing
7
+
8
+ class Routing < Application
9
+ home :home
10
+ logger.level = DEBUG
11
+ end
12
+
13
+ class Home < Trellis::Page
14
+ template do html { body { text %[this is the home page] }} end
15
+ end
16
+
17
+ class RoutedDifferently < Trellis::Page
18
+ route '/whoa'
19
+
20
+ template do html { body { text %[whoa!] }} end
21
+ end
22
+
23
+ class RoutedDifferentlyWithParams < Trellis::Page
24
+ route '/day_of_the_year/:year/:month/:day'
25
+
26
+ def parse_date
27
+ Date.parse("#{@month}/#{@day}/#{@year}")
28
+ end
29
+
30
+ def on_select
31
+ self
32
+ end
33
+
34
+ template do
35
+ html {
36
+ body {
37
+ h2 {
38
+ text %[Date <trellis:value name="page.parse_date"/>]
39
+ }
40
+ text %[is the <trellis:eval expression="Date.parse(month + '/' + day + '/' + year).yday.to_s"/> day of the year]
41
+ br
42
+ text %[<trellis:action_link>Refresh</trellis:action_link>]
43
+ }
44
+ }
45
+ end
46
+ end
47
+
48
+ Routing.new.start if __FILE__ == $PROGRAM_NAME
49
+ end
50
+
@@ -5,7 +5,7 @@ include Trellis
5
5
 
6
6
  # http://seaside.st/about/examples/multicounter
7
7
  # This example shows
8
- # - a custom stateful component that can be use repeatedly in a page.
8
+ # - a custom stateful component that can be use repeatedly in a page
9
9
  module StatefulCounters
10
10
 
11
11
  class Counter < Component
@@ -24,13 +24,18 @@ module StatefulCounters
24
24
  page = tag.globals.page
25
25
  counter = page.send("counter_#{tid}")
26
26
  value = counter.value
27
-
27
+ href_add = DefaultRouter.to_uri(:page => page.class.name,
28
+ :event => 'add',
29
+ :source => "counter_#{tid}")
30
+ href_subtract = DefaultRouter.to_uri(:page => page.class.name,
31
+ :event => 'subtract',
32
+ :source => "counter_#{tid}")
28
33
  builder = Builder::XmlMarkup.new
29
34
  builder.div(:id => tid) {
30
35
  builder.h1(value)
31
- builder.a("++", :href => "/#{page.class.name}.add_counter#{tid}")
36
+ builder.a("++", :href => href_add)
32
37
  builder.text(" ")
33
- builder.a("--", :href => "/#{page.class.name}.subtract_counter#{tid}")
38
+ builder.a("--", :href => href_subtract)
34
39
  }
35
40
  end
36
41