trellis 0.0.1 → 0.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 (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