spontaneous 0.1.0.alpha1 → 0.2.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (413) hide show
  1. data/Gemfile +40 -35
  2. data/LICENSE +20 -0
  3. data/Rakefile +39 -42
  4. data/Readme.markdown +155 -0
  5. data/application/css/definitions.scss +3 -0
  6. data/application/css/editing.scss +9 -4
  7. data/application/css/min/565d4c25e82148acb01c45c8d675b37a08676d77.css +1 -0
  8. data/application/css/min/84dbe894ea96eafd321c30823d630817bfc4b03b.css +1 -0
  9. data/application/css/min/d1b54ff4847c613618267ca1c15658e2aee0a4e5.css +1 -0
  10. data/application/css/v2.scss +144 -50
  11. data/application/js/add_alias_dialogue.js +18 -8
  12. data/application/js/ajax.js +1 -1
  13. data/application/js/authentication.js +8 -1
  14. data/application/js/box.js +37 -7
  15. data/application/js/box_container.js +1 -1
  16. data/application/js/compatibility.js +7 -0
  17. data/application/js/content.js +7 -0
  18. data/application/js/content_area.js +4 -0
  19. data/application/js/edit_panel.js +44 -18
  20. data/application/js/editing.js +12 -0
  21. data/application/js/event_source.js +17 -0
  22. data/application/js/extensions.js +2 -0
  23. data/application/js/field_types/file_field.js +2 -1
  24. data/application/js/field_types/image_field.js +35 -48
  25. data/application/js/field_types/long_string_field.js +12 -0
  26. data/application/js/field_types/markdown_field.js +2 -5
  27. data/application/js/field_types/string_field.js +5 -1
  28. data/application/js/field_types/webvideo_field.js +15 -0
  29. data/application/js/init.js +1 -0
  30. data/application/js/location.js +30 -19
  31. data/application/js/login.js +1 -2
  32. data/application/js/min/2a0c2962537a3181fedfff5c92596ba6d3122dc9.js +3 -0
  33. data/application/js/min/4cf1c493d3379ecba5287758c61238034c0893f9.js +2 -0
  34. data/application/js/min/78ac6b99d96750bb6b9f9aad4cb9cd91cd03f391.js +3 -0
  35. data/application/js/min/c8efb9b9f7c3f6613fcebc6be60f605b6570a382.js +90 -0
  36. data/application/js/page.js +1 -0
  37. data/application/js/page_entry.js +6 -40
  38. data/application/js/preview.js +2 -3
  39. data/application/js/top_bar.js +76 -31
  40. data/application/js/upload.js +5 -2
  41. data/application/js/upload_manager.js +2 -81
  42. data/application/js/vendor/jquery-1.7.1.min.js +4 -0
  43. data/application/js/vendor/jquery-ui-1.8.16.custom.min.js +791 -0
  44. data/application/js/views.js +3 -3
  45. data/application/js/views/box_view.js +164 -83
  46. data/application/js/views/page_piece_view.js +2 -2
  47. data/application/js/views/page_view.js +46 -15
  48. data/application/js/views/piece_view.js +29 -8
  49. data/application/static/diagonal-texture.png +0 -0
  50. data/application/static/item-buttons-highlight.png +0 -0
  51. data/application/static/plus-box.png +0 -0
  52. data/application/static/plus_alt.svg +8 -0
  53. data/application/static/slot-up-arrow.png +0 -0
  54. data/application/views/{index.erubis → index.erb} +9 -5
  55. data/application/views/{login.erubis → login.erb} +14 -10
  56. data/application/views/schema_modification_error.html.erb +18 -6
  57. data/application/views/{unsupported.erubis → unsupported.erb} +0 -0
  58. data/bin/spot +15 -2
  59. data/db/migrations/20100610142136_init.rb +2 -2
  60. data/db/migrations/20101130104334_timestamps.rb +2 -2
  61. data/db/migrations/20110209152710_users_and_groups.rb +11 -11
  62. data/db/migrations/20120106171423_visibility_path.rb +19 -0
  63. data/db/migrations/20120107124541_owner_id.rb +19 -0
  64. data/docs/recipe-interface-screenshot.png +0 -0
  65. data/lib/cutaneous.rb +11 -10
  66. data/lib/cutaneous/context_helper.rb +119 -14
  67. data/lib/cutaneous/preview_context.rb +4 -3
  68. data/lib/cutaneous/preview_renderer.rb +1 -6
  69. data/lib/cutaneous/publish_context.rb +1 -0
  70. data/lib/cutaneous/{first_pass_renderer.rb → publish_renderer.rb} +2 -6
  71. data/lib/cutaneous/publish_template.rb +62 -0
  72. data/lib/cutaneous/publish_token_parser.rb +8 -0
  73. data/lib/cutaneous/renderer.rb +4 -2
  74. data/lib/cutaneous/request_context.rb +1 -0
  75. data/lib/cutaneous/{second_pass_renderer.rb → request_renderer.rb} +2 -5
  76. data/lib/cutaneous/request_template.rb +11 -0
  77. data/lib/cutaneous/request_token_parser.rb +9 -0
  78. data/lib/cutaneous/token_parser.rb +125 -0
  79. data/lib/sequel/plugins/content_table_inheritance.rb +19 -12
  80. data/lib/sequel/plugins/scoped_table_name.rb +45 -0
  81. data/lib/spontaneous.rb +123 -126
  82. data/lib/spontaneous/box.rb +127 -47
  83. data/lib/spontaneous/box_style.rb +39 -22
  84. data/lib/spontaneous/change.rb +2 -2
  85. data/lib/spontaneous/cli.rb +1 -0
  86. data/lib/spontaneous/cli/base.rb +12 -4
  87. data/lib/spontaneous/cli/console.rb +72 -0
  88. data/lib/spontaneous/cli/server.rb +36 -12
  89. data/lib/spontaneous/cli/site.rb +175 -1
  90. data/lib/spontaneous/collections/box_set.rb +19 -1
  91. data/lib/spontaneous/collections/entry_set.rb +70 -22
  92. data/lib/spontaneous/collections/field_set.rb +3 -3
  93. data/lib/spontaneous/collections/prototype_set.rb +28 -0
  94. data/lib/spontaneous/config.rb +14 -5
  95. data/lib/spontaneous/content.rb +23 -24
  96. data/lib/spontaneous/errors.rb +20 -4
  97. data/lib/spontaneous/extensions/array.rb +2 -2
  98. data/lib/spontaneous/extensions/json.rb +1 -1
  99. data/lib/spontaneous/extensions/nil.rb +13 -0
  100. data/lib/spontaneous/facet.rb +61 -7
  101. data/lib/spontaneous/field_types.rb +1 -3
  102. data/lib/spontaneous/field_types/date_field.rb +1 -0
  103. data/lib/spontaneous/field_types/field.rb +32 -15
  104. data/lib/spontaneous/field_types/image_field.rb +138 -69
  105. data/lib/spontaneous/field_types/location_field.rb +59 -0
  106. data/lib/spontaneous/field_types/long_string_field.rb +13 -0
  107. data/lib/spontaneous/field_types/markdown_field.rb +2 -1
  108. data/lib/spontaneous/field_types/string_field.rb +2 -2
  109. data/lib/spontaneous/field_types/webvideo_field.rb +255 -0
  110. data/lib/spontaneous/generators/page/inline.html.cut +1 -1
  111. data/lib/spontaneous/generators/page/page.html.cut.tt +5 -4
  112. data/lib/spontaneous/generators/page/page.rb.tt +1 -5
  113. data/lib/spontaneous/generators/site.rb +1 -0
  114. data/lib/spontaneous/generators/site/.gitignore +2 -0
  115. data/lib/spontaneous/generators/site/Gemfile.tt +3 -5
  116. data/lib/spontaneous/generators/site/config/environment.rb.tt +1 -0
  117. data/lib/spontaneous/generators/site/config/environments/development.rb.tt +3 -1
  118. data/lib/spontaneous/generators/site/config/environments/production.rb.tt +3 -1
  119. data/lib/spontaneous/generators/site/config/indexes.rb.tt +23 -0
  120. data/lib/spontaneous/generators/site/public/css/{site.css → site.scss} +0 -0
  121. data/lib/spontaneous/generators/site/schema/box.rb.tt +5 -0
  122. data/lib/spontaneous/generators/site/templates/layouts/standard.html.cut.tt +11 -5
  123. data/lib/spontaneous/image_size.rb +0 -1
  124. data/lib/spontaneous/loader.rb +335 -218
  125. data/lib/spontaneous/logger.rb +7 -2
  126. data/lib/spontaneous/media.rb +64 -59
  127. data/lib/spontaneous/media/file.rb +74 -0
  128. data/lib/spontaneous/page.rb +47 -18
  129. data/lib/spontaneous/page_piece.rb +29 -27
  130. data/lib/spontaneous/paths.rb +0 -1
  131. data/lib/spontaneous/permissions.rb +3 -21
  132. data/lib/spontaneous/permissions/user.rb +5 -1
  133. data/lib/spontaneous/permissions/user_level.rb +6 -7
  134. data/lib/spontaneous/piece.rb +12 -7
  135. data/lib/spontaneous/plugins/aliases.rb +76 -31
  136. data/lib/spontaneous/plugins/allowed_types.rb +36 -37
  137. data/lib/spontaneous/plugins/application/facets.rb +7 -10
  138. data/lib/spontaneous/plugins/application/features.rb +17 -0
  139. data/lib/spontaneous/plugins/application/paths.rb +25 -31
  140. data/lib/spontaneous/plugins/application/render.rb +1 -5
  141. data/lib/spontaneous/plugins/application/serialisation.rb +2 -0
  142. data/lib/spontaneous/plugins/application/state.rb +6 -9
  143. data/lib/spontaneous/plugins/boxes.rb +65 -40
  144. data/lib/spontaneous/plugins/controllers.rb +22 -22
  145. data/lib/spontaneous/plugins/entries.rb +149 -150
  146. data/lib/spontaneous/plugins/entry.rb +50 -35
  147. data/lib/spontaneous/plugins/field/editor_class.rb +13 -0
  148. data/lib/spontaneous/plugins/fields.rb +41 -33
  149. data/lib/spontaneous/plugins/instance_code.rb +9 -9
  150. data/lib/spontaneous/plugins/layouts.rb +31 -35
  151. data/lib/spontaneous/plugins/media.rb +31 -32
  152. data/lib/spontaneous/plugins/page/formats.rb +56 -31
  153. data/lib/spontaneous/plugins/page/request.rb +15 -9
  154. data/lib/spontaneous/plugins/page_search.rb +30 -31
  155. data/lib/spontaneous/plugins/page_tree.rb +59 -12
  156. data/lib/spontaneous/plugins/paths.rb +84 -79
  157. data/lib/spontaneous/plugins/permissions.rb +26 -28
  158. data/lib/spontaneous/plugins/prototypes.rb +42 -37
  159. data/lib/spontaneous/plugins/publishing.rb +50 -94
  160. data/lib/spontaneous/plugins/render.rb +8 -16
  161. data/lib/spontaneous/plugins/schema_hierarchy.rb +20 -21
  162. data/lib/spontaneous/plugins/schema_id.rb +33 -25
  163. data/lib/spontaneous/plugins/schema_title.rb +3 -4
  164. data/lib/spontaneous/plugins/serialisation.rb +32 -35
  165. data/lib/spontaneous/plugins/site/features.rb +32 -0
  166. data/lib/spontaneous/plugins/site/instance.rb +3 -2
  167. data/lib/spontaneous/plugins/site/level.rb +18 -0
  168. data/lib/spontaneous/plugins/site/map.rb +2 -1
  169. data/lib/spontaneous/plugins/site/publishing.rb +56 -59
  170. data/lib/spontaneous/plugins/site/revisions.rb +24 -19
  171. data/lib/spontaneous/plugins/site/schema.rb +33 -0
  172. data/lib/spontaneous/plugins/site/search.rb +43 -0
  173. data/lib/spontaneous/plugins/site/selectors.rb +35 -30
  174. data/lib/spontaneous/plugins/site/storage.rb +63 -0
  175. data/lib/spontaneous/plugins/site_map.rb +23 -25
  176. data/lib/spontaneous/plugins/styles.rb +35 -43
  177. data/lib/spontaneous/plugins/supertype.rb +3 -1
  178. data/lib/spontaneous/plugins/visibility.rb +90 -83
  179. data/lib/spontaneous/prototypes/box_prototype.rb +55 -25
  180. data/lib/spontaneous/prototypes/field_prototype.rb +66 -19
  181. data/lib/spontaneous/prototypes/style_prototype.rb +2 -2
  182. data/lib/spontaneous/publishing.rb +1 -1
  183. data/lib/spontaneous/publishing/immediate.rb +128 -49
  184. data/lib/spontaneous/publishing/simultaneous.rb +70 -0
  185. data/lib/spontaneous/rack.rb +38 -26
  186. data/lib/spontaneous/rack/around_back.rb +3 -23
  187. data/lib/spontaneous/rack/around_preview.rb +3 -8
  188. data/lib/spontaneous/rack/assets.rb +7 -6
  189. data/lib/spontaneous/rack/authentication.rb +21 -0
  190. data/lib/spontaneous/rack/back.rb +310 -331
  191. data/lib/spontaneous/rack/cacheable_file.rb +27 -0
  192. data/lib/spontaneous/rack/cookie_authentication.rb +38 -0
  193. data/lib/spontaneous/rack/css.rb +43 -0
  194. data/lib/spontaneous/rack/event_source.rb +31 -0
  195. data/lib/spontaneous/rack/front.rb +30 -8
  196. data/lib/spontaneous/rack/helpers.rb +31 -0
  197. data/lib/spontaneous/rack/media.rb +22 -21
  198. data/lib/spontaneous/rack/public.rb +2 -1
  199. data/lib/spontaneous/rack/query_authentication.rb +35 -0
  200. data/lib/spontaneous/rack/reloader.rb +6 -3
  201. data/lib/spontaneous/rack/user_helpers.rb +28 -0
  202. data/lib/spontaneous/render.rb +64 -23
  203. data/lib/spontaneous/render/context_base.rb +143 -0
  204. data/lib/spontaneous/render/format.rb +24 -19
  205. data/lib/spontaneous/render/helpers.rb +14 -0
  206. data/lib/spontaneous/render/helpers/html_helper.rb +69 -0
  207. data/lib/spontaneous/render/helpers/script_helper.rb +17 -0
  208. data/lib/spontaneous/render/helpers/stylesheet_helper.rb +16 -0
  209. data/lib/spontaneous/render/preview_context.rb +8 -0
  210. data/lib/spontaneous/render/preview_renderer.rb +6 -0
  211. data/lib/spontaneous/render/publish_context.rb +22 -0
  212. data/lib/spontaneous/render/published_renderer.rb +12 -13
  213. data/lib/spontaneous/render/publishing_renderer.rb +3 -0
  214. data/lib/spontaneous/render/render_cache.rb +26 -0
  215. data/lib/spontaneous/render/renderer.rb +5 -1
  216. data/lib/spontaneous/render/request_context.rb +8 -0
  217. data/lib/spontaneous/schema.rb +56 -24
  218. data/lib/spontaneous/schema/schema_modification.rb +2 -2
  219. data/lib/spontaneous/schema/uid.rb +22 -106
  220. data/lib/spontaneous/schema/uid_map.rb +120 -0
  221. data/lib/spontaneous/search.rb +11 -0
  222. data/lib/spontaneous/search/compound_indexer.rb +26 -0
  223. data/lib/spontaneous/search/database.rb +72 -0
  224. data/lib/spontaneous/search/field.rb +95 -0
  225. data/lib/spontaneous/search/index.rb +184 -0
  226. data/lib/spontaneous/search/results.rb +34 -0
  227. data/lib/spontaneous/server.rb +5 -1
  228. data/lib/spontaneous/site.rb +56 -16
  229. data/lib/spontaneous/storage.rb +22 -0
  230. data/lib/spontaneous/storage/backend.rb +10 -0
  231. data/lib/spontaneous/storage/cloud.rb +104 -0
  232. data/lib/spontaneous/storage/local.rb +52 -0
  233. data/lib/spontaneous/style.rb +27 -9
  234. data/lib/spontaneous/version.rb +1 -1
  235. data/spontaneous.gemspec +719 -0
  236. data/test/disabled/test_slots.rb +1 -1
  237. data/test/experimental/test_cutaneous.rb +309 -0
  238. data/test/experimental/test_features.rb +129 -0
  239. data/test/fixtures/application/views/{index.erubis → index.erb} +0 -0
  240. data/test/fixtures/back/public/css/sass_include.scss +5 -0
  241. data/test/fixtures/back/public/css/sass_template.scss +4 -0
  242. data/test/fixtures/example_application/templates/client_project.html.cut +4 -4
  243. data/test/fixtures/example_application/templates/client_project/images.html.cut +1 -1
  244. data/test/fixtures/example_application/templates/client_projects.html.cut +2 -2
  245. data/test/fixtures/example_application/templates/inline_image.html.cut +1 -1
  246. data/test/fixtures/example_application/templates/layouts/home.html.cut +7 -7
  247. data/test/fixtures/example_application/templates/layouts/info.html.cut +1 -1
  248. data/test/fixtures/example_application/templates/layouts/project.html.cut +4 -4
  249. data/test/fixtures/example_application/templates/layouts/projects.html.cut +2 -2
  250. data/test/fixtures/example_application/templates/project.html.cut +2 -2
  251. data/test/fixtures/example_application/templates/project/inline.html.cut +3 -3
  252. data/test/fixtures/example_application/templates/project_image.html.cut +1 -1
  253. data/test/fixtures/example_application/templates/text.html.cut +1 -1
  254. data/test/fixtures/fields/youtube_api_response.xml +102 -0
  255. data/test/fixtures/layouts/layouts/custom4.html.cut +0 -0
  256. data/test/fixtures/plugins/schema_plugin/public/css/plugin.css +1 -0
  257. data/test/fixtures/plugins/schema_plugin/public/js/plugin.js +1 -0
  258. data/test/fixtures/plugins/schema_plugin/public/static.html +1 -0
  259. data/test/fixtures/plugins/schema_plugin/public/subdir/image.gif +1 -0
  260. data/test/fixtures/plugins/schema_plugin/public/subdir/include1.scss +3 -0
  261. data/test/fixtures/plugins/schema_plugin/public/subdir/sass.scss +4 -0
  262. data/test/fixtures/plugins/schema_plugin/public/subdir/sass/include2.scss +4 -0
  263. data/test/fixtures/public/templates/layouts/default.html.cut +1 -1
  264. data/test/fixtures/public/templates/layouts/default.pdf.cut +1 -1
  265. data/test/fixtures/public/templates/layouts/default.rss.cut +1 -1
  266. data/test/fixtures/public/templates/layouts/dynamic.html.cut +1 -1
  267. data/test/fixtures/schema_modification/config/database.yml +0 -0
  268. data/test/fixtures/schema_modification/config/environment.rb +2 -0
  269. data/test/fixtures/schema_modification/schema/box.rb +1 -0
  270. data/test/fixtures/schema_modification/schema/custom_box.rb +1 -0
  271. data/test/fixtures/schema_modification/schema/page.rb +6 -0
  272. data/test/fixtures/schema_modification/schema/piece.rb +1 -0
  273. data/test/fixtures/search/config/database.yml +1 -0
  274. data/test/fixtures/search/config/indexes.rb +4 -0
  275. data/test/fixtures/serialisation/root_hash.yaml.erb +16 -20
  276. data/test/fixtures/storage/cloud/environment.rb +12 -0
  277. data/test/fixtures/storage/default/environment.rb +1 -0
  278. data/test/fixtures/templates/aliases/layouts/c_alias.html.cut +1 -1
  279. data/test/fixtures/templates/content/include.html.cut +1 -1
  280. data/test/fixtures/templates/content/include_dir.html.cut +1 -1
  281. data/test/fixtures/templates/content/included.epub.cut +1 -1
  282. data/test/fixtures/templates/content/included.html.cut +1 -1
  283. data/test/fixtures/templates/content/partial/included.html.cut +1 -1
  284. data/test/fixtures/templates/content/preprocess.html.cut +1 -1
  285. data/test/fixtures/templates/content/second.html.cut +1 -1
  286. data/test/fixtures/templates/content/template.epub.cut +1 -1
  287. data/test/fixtures/templates/content/template.html.cut +1 -1
  288. data/test/fixtures/templates/default_style_class.html.cut +1 -1
  289. data/test/fixtures/templates/engine/braces.html.cut +6 -0
  290. data/test/fixtures/templates/engine/multiline.html.cut +5 -0
  291. data/test/fixtures/templates/extended/grandparent.html.cut +7 -7
  292. data/test/fixtures/templates/extended/main.html.cut +5 -5
  293. data/test/fixtures/templates/extended/parent.html.cut +10 -8
  294. data/test/fixtures/templates/extended/partial.html.cut +1 -0
  295. data/test/fixtures/templates/extended/partial_with_locals.html.cut +1 -0
  296. data/test/fixtures/templates/extended/with_includes.html.cut +9 -0
  297. data/test/fixtures/templates/extended/with_includes_and_locals.html.cut +9 -0
  298. data/test/fixtures/templates/layouts/entries.html.cut +7 -7
  299. data/test/fixtures/templates/layouts/page_style.html.cut +1 -1
  300. data/test/fixtures/templates/layouts/params.html.cut +1 -1
  301. data/test/fixtures/templates/layouts/preview_render.html.cut +2 -2
  302. data/test/fixtures/templates/layouts/standard_page.html.cut +1 -1
  303. data/test/fixtures/templates/layouts/subdir_style.html.cut +1 -1
  304. data/test/fixtures/templates/layouts/template_params.html.cut +1 -1
  305. data/test/fixtures/templates/layouts/variables.html.cut +7 -0
  306. data/test/fixtures/templates/page_class/inline_style.html.cut +1 -1
  307. data/test/fixtures/templates/preview_render/variables.html.cut +1 -0
  308. data/test/fixtures/templates/publishing/templates/layouts/dynamic.html.cut +1 -0
  309. data/test/fixtures/templates/publishing/templates/layouts/dynamic.rtf.cut +1 -0
  310. data/test/fixtures/templates/publishing/templates/layouts/static.html.cut +1 -0
  311. data/test/fixtures/templates/template_class/anonymous_style.html.cut +2 -2
  312. data/test/fixtures/templates/template_class/complex_template.html.cut +4 -4
  313. data/test/fixtures/templates/template_class/complex_template.pdf.cut +4 -4
  314. data/test/fixtures/templates/template_class/default_template_style.html.cut +2 -2
  315. data/test/fixtures/templates/template_class/images_with_template.html.cut +3 -3
  316. data/test/fixtures/templates/template_class/slots_template.html.cut +3 -3
  317. data/test/fixtures/templates/template_class/slots_template.pdf.cut +3 -3
  318. data/test/fixtures/templates/template_class/this_template.epub.cut +1 -1
  319. data/test/fixtures/templates/template_class/this_template.html.cut +1 -1
  320. data/test/fixtures/templates/template_class/this_template.pdf.cut +1 -1
  321. data/test/fixtures/templates/with_default_style_class.html.cut +1 -1
  322. data/test/functional/test_application.rb +19 -15
  323. data/test/functional/test_back.rb +130 -98
  324. data/test/functional/test_front.rb +72 -28
  325. data/test/javascript/test_dom.rb +1 -1
  326. data/test/javascript/test_markdown.rb +1 -1
  327. data/test/slow/test_publishing.rb +94 -75
  328. data/test/slow/test_visibility.rb +47 -14
  329. data/test/test_helper.rb +30 -3
  330. data/test/ui/test_page_editing.rb +1 -1
  331. data/test/unit/test_alias.rb +200 -16
  332. data/test/unit/test_authentication.rb +26 -28
  333. data/test/unit/test_boxes.rb +146 -75
  334. data/test/unit/test_config.rb +42 -20
  335. data/test/unit/test_content.rb +156 -37
  336. data/test/unit/test_content_inheritance.rb +4 -2
  337. data/test/unit/test_extensions.rb +7 -1
  338. data/test/unit/test_fields.rb +558 -290
  339. data/test/{experimental → unit}/test_formats.rb +42 -3
  340. data/test/unit/test_generators.rb +3 -2
  341. data/test/unit/test_helpers.rb +54 -0
  342. data/test/unit/test_image_size.rb +1 -1
  343. data/test/unit/test_images.rb +51 -40
  344. data/test/unit/test_layouts.rb +21 -4
  345. data/test/unit/test_logger.rb +1 -1
  346. data/test/unit/test_media.rb +165 -7
  347. data/test/unit/test_page.rb +158 -27
  348. data/test/unit/test_permissions.rb +170 -187
  349. data/test/unit/test_piece.rb +27 -9
  350. data/test/unit/test_plugins.rb +153 -0
  351. data/test/unit/test_prototype_set.rb +60 -2
  352. data/test/unit/test_prototypes.rb +81 -20
  353. data/test/unit/test_render.rb +97 -9
  354. data/test/unit/test_schema.rb +167 -120
  355. data/test/unit/test_search.rb +588 -0
  356. data/test/unit/test_serialisation.rb +26 -10
  357. data/test/unit/test_site.rb +42 -25
  358. data/test/unit/test_storage.rb +88 -0
  359. data/test/unit/test_structure.rb +11 -5
  360. data/test/unit/test_styles.rb +64 -3
  361. data/test/unit/test_table_scoping.rb +76 -0
  362. data/test/unit/test_templates.rb +69 -31
  363. data/test/unit/test_type_hierarchy.rb +9 -1
  364. metadata +274 -208
  365. data/Gemfile.lock +0 -146
  366. data/application/css/min/54ee0ed3c7fac7632bd5c020d69e9a2503e0c88c.css +0 -1
  367. data/application/css/min/c256adc144e2bdd0b0539356b04eb62db01e1dc3.css +0 -1
  368. data/application/js/edit_dialogue.js +0 -137
  369. data/application/js/min/492a209de8ee955fa9c729a765377495001e11b1.js +0 -17
  370. data/application/js/min/80f684d77c940887a1d4a63e3a96102e993baa98.js +0 -88
  371. data/application/js/min/c7140ec9475e5bf868b901e0621338d7d162358b.js +0 -3
  372. data/application/js/min/f07f2bd6630ee31e1c2288ec223383d8f0658ba6.js +0 -2
  373. data/application/js/vendor/.DS_Store +0 -0
  374. data/application/js/vendor/JS.Class-2.1.5/src/command.js +0 -93
  375. data/application/js/vendor/JS.Class-2.1.5/src/comparable.js +0 -37
  376. data/application/js/vendor/JS.Class-2.1.5/src/constant_scope.js +0 -48
  377. data/application/js/vendor/JS.Class-2.1.5/src/core.js +0 -1060
  378. data/application/js/vendor/JS.Class-2.1.5/src/decorator.js +0 -50
  379. data/application/js/vendor/JS.Class-2.1.5/src/enumerable.js +0 -505
  380. data/application/js/vendor/JS.Class-2.1.5/src/forwardable.js +0 -22
  381. data/application/js/vendor/JS.Class-2.1.5/src/hash.js +0 -334
  382. data/application/js/vendor/JS.Class-2.1.5/src/linked_list.js +0 -114
  383. data/application/js/vendor/JS.Class-2.1.5/src/loader.js +0 -553
  384. data/application/js/vendor/JS.Class-2.1.5/src/method_chain.js +0 -172
  385. data/application/js/vendor/JS.Class-2.1.5/src/observable.js +0 -55
  386. data/application/js/vendor/JS.Class-2.1.5/src/package.js +0 -472
  387. data/application/js/vendor/JS.Class-2.1.5/src/proxy.js +0 -58
  388. data/application/js/vendor/JS.Class-2.1.5/src/ruby.js +0 -44
  389. data/application/js/vendor/JS.Class-2.1.5/src/set.js +0 -332
  390. data/application/js/vendor/JS.Class-2.1.5/src/stack_trace.js +0 -151
  391. data/application/js/vendor/JS.Class-2.1.5/src/state.js +0 -95
  392. data/application/js/vendor/JS.Class-2.1.5/src/stdlib.js +0 -2612
  393. data/application/js/vendor/jquery-1.4.2.min.js +0 -154
  394. data/application/js/vendor/jquery-1.4.3.min.js +0 -166
  395. data/application/js/vendor/jquery-1.5.1.min.js +0 -16
  396. data/application/js/vendor/jquery-1.5.1rc1.min.js +0 -24
  397. data/application/js/vendor/jquery-ui-1.8.6.custom.min.js +0 -265
  398. data/application/js/vendor/jquery-ui-1.8.custom.min.js +0 -106
  399. data/application/js/vendor/jquery.hotkeys-0.7.9.js +0 -248
  400. data/application/js/vendor/jquery.hotkeys-0.7.9.min.js +0 -19
  401. data/application/js/vendor/jsdiff.js +0 -169
  402. data/lib/cutaneous/first_pass_parser.rb +0 -23
  403. data/lib/cutaneous/parser_core.rb +0 -18
  404. data/lib/cutaneous/second_pass_parser.rb +0 -23
  405. data/lib/sequel/plugins/yajl_serialization.rb +0 -154
  406. data/lib/spontaneous/plugins.rb +0 -20
  407. data/lib/spontaneous/proxy_object.rb +0 -12
  408. data/lib/spontaneous/publishing/fire_and_forget.rb +0 -57
  409. data/lib/spontaneous/render/context.rb +0 -100
  410. data/spontaneous.gemspec.tmpl +0 -66
  411. data/test/experimental/test_plugins.rb +0 -64
  412. data/test/fixtures/templates/publishing/layouts/dynamic.html.cut +0 -1
  413. data/test/fixtures/templates/publishing/layouts/static.html.cut +0 -1
@@ -0,0 +1,76 @@
1
+ # encoding: UTF-8
2
+
3
+ require File.expand_path('../../test_helper', __FILE__)
4
+
5
+ class TableScopingTest < MiniTest::Spec
6
+
7
+ def setup
8
+ setup_site
9
+ end
10
+
11
+ def teardown
12
+ teardown_site
13
+ end
14
+
15
+ context "Tablename scoping" do
16
+ should "correctly change the table name within a scope" do
17
+ Content.dataset.sql.should == "SELECT * FROM `content`"
18
+ Content.with_table("new_content_table") do
19
+ Content.dataset.sql.should == "SELECT * FROM `new_content_table`"
20
+ end
21
+ Content.dataset.sql.should == "SELECT * FROM `content`"
22
+ end
23
+
24
+ should "allow the nesting of scopes" do
25
+ Content.dataset.sql.should == "SELECT * FROM `content`"
26
+ Content.with_table("content_1") do
27
+ Content.with_table("content_2") do
28
+ Content.dataset.sql.should == "SELECT * FROM `content_2`"
29
+ end
30
+ Content.dataset.sql.should == "SELECT * FROM `content_1`"
31
+ end
32
+ Content.dataset.sql.should == "SELECT * FROM `content`"
33
+ end
34
+
35
+ should "preserve single table inheritance" do
36
+ Content.delete
37
+ class NewContentClass < Piece; end
38
+
39
+ id = NewContentClass.create.id
40
+ Content.with_table("content") do
41
+ NewContentClass[id].must_be_instance_of(NewContentClass)
42
+ Content.with_table("content_2") do
43
+ # nothing
44
+ end
45
+ end
46
+ NewContentClass[id].must_be_instance_of(NewContentClass)
47
+ TableScopingTest.send(:remove_const, :NewContentClass)
48
+ Content.delete
49
+ end
50
+
51
+ should "restore original state if an exception is raised" do
52
+ Content.dataset.sql.should == "SELECT * FROM `content`"
53
+ begin
54
+ Content.with_table("new_content_table") do
55
+ Content.dataset.sql.should == "SELECT * FROM `new_content_table`"
56
+ raise "havoc"
57
+ end
58
+ rescue; end
59
+ Content.dataset.sql.should == "SELECT * FROM `content`"
60
+ end
61
+
62
+ should "Be able to handle scoping multiple models at once" do
63
+ Spontaneous::Change.plugin :scoped_table_name
64
+ Content.dataset.sql.should == "SELECT * FROM `content`"
65
+ Content.with_table("content_1") do
66
+ Change.with_table("change_1") do
67
+ Content.dataset.sql.should == "SELECT * FROM `content_1`"
68
+ Change.dataset.sql.should == "SELECT * FROM `change_1`"
69
+ end
70
+ end
71
+
72
+ Content.dataset.sql.should == "SELECT * FROM `content`"
73
+ Change.dataset.sql.should == "SELECT * FROM `changes`"
74
+ end
75
+ end
76
+ end
@@ -1,15 +1,16 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require 'test_helper'
3
+ require File.expand_path('../../test_helper', __FILE__)
4
4
 
5
+ require 'cgi'
5
6
 
6
7
  class TemplatesTest < MiniTest::Spec
7
8
  def first_pass(base_dir, filename, context=nil)
8
- render_with_renderer(Cutaneous::FirstPassRenderer, base_dir, filename, context)
9
+ render_with_renderer(Cutaneous::PublishRenderer, base_dir, filename, context)
9
10
  end
10
11
 
11
12
  def second_pass(base_dir, filename, context=nil)
12
- render_with_renderer(Cutaneous::SecondPassRenderer, base_dir, filename, context)
13
+ render_with_renderer(Cutaneous::RequestRenderer, base_dir, filename, context)
13
14
  end
14
15
 
15
16
  def render_with_renderer(renderer_class, base_dir, filename, context = nil)
@@ -28,9 +29,10 @@ class TemplatesTest < MiniTest::Spec
28
29
  def setup
29
30
  @klass = Class.new(Object) do
30
31
  include Cutaneous::ContextHelper
32
+ include Spontaneous::Render::PreviewContext
31
33
 
32
34
  def escape(val)
33
- CGI.escapeHTML(val)
35
+ ::CGI.escapeHTML(val)
34
36
  end
35
37
  def title
36
38
  "THE TITLE"
@@ -43,38 +45,42 @@ class TemplatesTest < MiniTest::Spec
43
45
  def bell
44
46
  'ding'
45
47
  end
48
+
49
+ def show_errors?
50
+ true
51
+ end
46
52
  end
47
53
  @context = @klass.new(nil, :html)
48
54
  end
49
55
 
50
56
  context "First render" do
51
57
  setup do
52
- @template = Cutaneous::FirstPassParser.new
58
+ @template = Cutaneous::PublishTemplate.new
53
59
  end
54
60
 
55
61
  should "ignore second level statements" do
56
- input = '<html><title>#{title}</title>#{unsafe}</html>'
62
+ input = '<html><title>{{title}}</title>{{unsafe}}</html>'
57
63
  @template.convert(input)
58
64
  output = @template.render(@context)
59
- output.should == '<html><title>#{title}</title>#{unsafe}</html>'
65
+ output.should == '<html><title>{{title}}</title>{{unsafe}}</html>'
60
66
  end
61
67
 
62
68
  should "evaluate first level expressions" do
63
- @template.convert('<html><title>{{title}}</title>#{unsafe}</html>')
69
+ @template.convert('<html><title>${title}</title>{{unsafe}}</html>')
64
70
  output = @template.render(@context)
65
- output.should == '<html><title>THE TITLE</title>#{unsafe}</html>'
71
+ output.should == '<html><title>THE TITLE</title>{{unsafe}}</html>'
66
72
  end
67
73
 
68
74
  should "evaluate first level statements" do
69
- @template.convert("<html><title>{{title}}</title>{% 2.times do %}\#{unsafe}{% end %}</html>")
75
+ @template.convert('<html><title>${title}</title>%{ 2.times do }{{unsafe}}%{ end }</html>')
70
76
  output = @template.render(@context)
71
- output.should == '<html><title>THE TITLE</title>#{unsafe}#{unsafe}</html>'
77
+ output.should == '<html><title>THE TITLE</title>{{unsafe}}{{unsafe}}</html>'
72
78
  end
73
79
 
74
80
  should "generate 2nd render templates" do
75
- @template.convert("<html><title>{{title}}</title>{% 2.times do %}\#{bell}\n{% end %}</html>")
81
+ @template.convert("<html><title>${title}</title>%{ 2.times do }{{bell}}\n%{ end }</html>")
76
82
  output = @template.render(@context)
77
- second = Cutaneous::SecondPassParser.new
83
+ second = Cutaneous::RequestTemplate.new
78
84
  second.convert(output)
79
85
  output = second.render(@context)
80
86
  output.should == "<html><title>THE TITLE</title>ding\nding\n</html>"
@@ -83,23 +89,23 @@ class TemplatesTest < MiniTest::Spec
83
89
 
84
90
  context "Second render" do
85
91
  setup do
86
- @template = Cutaneous::SecondPassParser.new
92
+ @template = Cutaneous::RequestTemplate.new
87
93
  end
88
94
 
89
95
  should "a render unescaped expressions" do
90
- @template.convert('<html><title>#{title}</title>#{unsafe}</html>')
96
+ @template.convert('<html><title>{{title}}</title>{{unsafe}}</html>')
91
97
  output = @template.render(@context)
92
98
  output.should == "<html><title>THE TITLE</title><script>alert('bad')</script></html>"
93
99
  end
94
100
 
95
101
  should "render escaped expressions" do
96
- @template.convert('<html><title>${unsafe}</title></html>')
102
+ @template.convert('<html><title>{$ unsafe $}</title></html>')
97
103
  output = @template.render(@context)
98
104
  output.should == "<html><title>&lt;script&gt;alert('bad')&lt;/script&gt;</title></html>"
99
105
  end
100
106
 
101
107
  should "evaluate expressions" do
102
- @template.convert('<html>%{ 2.times do }<title>#{title}</title>%{ end }</html>')
108
+ @template.convert('<html>{% 2.times do %}<title>{{title}}</title>{% end %}</html>')
103
109
  output = @template.render(@context)
104
110
  output.should == "<html><title>THE TITLE</title><title>THE TITLE</title></html>"
105
111
  end
@@ -122,24 +128,24 @@ class TemplatesTest < MiniTest::Spec
122
128
 
123
129
  should "preprocess" do
124
130
  output = first_pass('content', 'preprocess')
125
- output.should == "<html><title>THE TITLE</title>\#{bell}</html>\n"
131
+ output.should == "<html><title>THE TITLE</title>{{bell}}</html>\n"
126
132
  end
127
133
 
128
134
  should "include imports" do
129
135
  output = first_pass('content', 'include')
130
- output.should == "<html>\#{bell}ding\n</html>\n"
136
+ output.should == "<html>{{bell}}ding\n</html>\n"
131
137
  end
132
138
 
133
139
  should "include imports in sub-directories" do
134
140
  output = first_pass('content', 'include_dir')
135
- output.should == "<html>\#{bell}ding\n</html>\n"
141
+ output.should == "<html>{{ bell }}ding\n</html>\n"
136
142
  end
137
143
 
138
144
  should "preserve the format across includes" do
139
145
  context = @klass.new(nil, :epub)
140
146
  context.format.should == :epub
141
147
  output = first_pass('content', 'template', context)
142
- output.should == "<epub><epub>\#{bell}ding</epub>\n</epub>\n"
148
+ output.should == "<epub><epub>{{ bell }}ding</epub>\n</epub>\n"
143
149
  end
144
150
 
145
151
  should "render a second pass" do
@@ -156,7 +162,38 @@ class TemplatesTest < MiniTest::Spec
156
162
 
157
163
  should "work" do
158
164
  output = first_pass('extended', 'main')
159
- output.should == "Main Title \#{page.title}\nGrandparent Nav\nMain Body\nParent Body\nGrandparent Body\nGrandparent Footer\nParent Footer\n"
165
+ output.should == "Main Title {{page.title}}Grandparent Nav\nMain Body\nParent Body\nGrandparent Body\nGrandparent Footer\nParent Footer\n"
166
+ end
167
+
168
+ should "allow the use of includes" do
169
+ output = first_pass('extended', 'with_includes')
170
+ output.should == (<<-RENDER)
171
+ Parent Title
172
+ INCLUDE
173
+ PARTIAL
174
+ Grandparent Footer
175
+ Parent Footer
176
+ RENDER
177
+ end
178
+
179
+ should "allow passing of local variables to included templates" do
180
+ output = first_pass('extended', 'with_includes_and_locals')
181
+ output.should == (<<-RENDER)
182
+ Parent Title
183
+ INCLUDE
184
+ local title
185
+ Grandparent Footer
186
+ Parent Footer
187
+ RENDER
188
+ end
189
+ should "handle multiline statements" do
190
+ output = first_pass('engine', 'multiline')
191
+ output.should == "12\n"
192
+ end
193
+
194
+ should "correctly handle braces within statements" do
195
+ output = first_pass('engine', 'braces')
196
+ output.should == "ab\n"
160
197
  end
161
198
  end
162
199
 
@@ -165,6 +202,7 @@ class TemplatesTest < MiniTest::Spec
165
202
 
166
203
  @context_class = Class.new(Object) do
167
204
  include Cutaneous::ContextHelper
205
+ include Spontaneous::Render::PreviewContext
168
206
 
169
207
  def escape(val)
170
208
  CGI.escapeHTML(val)
@@ -176,47 +214,47 @@ class TemplatesTest < MiniTest::Spec
176
214
 
177
215
  def field
178
216
  @klass ||= Class.new(Object) do
179
- attr_accessor :format
217
+ attr_accessor :_format
180
218
  def to_html
181
- "(#{format})"
219
+ "(#{_format})"
182
220
  end
183
221
 
184
222
  def to_s
185
- "'#{format}'"
223
+ "'#{_format}'"
186
224
  end
187
225
  end
188
- @klass.new.tap { |i| i.format = format }
226
+ @klass.new.tap { |i| i._format = _format }
189
227
  end
190
228
 
191
229
  def slot
192
230
  @klass ||= Class.new(Object) do
193
- def render(format)
231
+ def render(format, *args)
194
232
  "(#{format})"
195
233
  end
196
234
  end
197
235
  @klass.new
198
236
  end
199
237
  end
200
- @template = Cutaneous::FirstPassParser.new
238
+ @template = Cutaneous::PublishTemplate.new
201
239
  end
202
240
 
203
241
  should "call #render(format) if context responds to it" do
204
242
  context = @context_class.new(nil, :html)
205
- @template.convert('{{slot}} {{ monkey }}')
243
+ @template.convert('${slot} ${ monkey }')
206
244
  output = @template.render(context)
207
245
  output.should == "(html) magic"
208
246
  end
209
247
 
210
248
  should "call to_format on non-strings" do
211
249
  context = @context_class.new(nil, :html)
212
- @template.convert('{{field}} {{ monkey }}')
250
+ @template.convert('${field} ${ monkey }')
213
251
  output = @template.render(context)
214
252
  output.should == "(html) magic"
215
253
  end
216
254
 
217
255
  should "call to_s on non-strings that have no specific handler" do
218
256
  context = @context_class.new(nil, :weird)
219
- @template.convert('{{field}} {{ monkey }}')
257
+ @template.convert('${field} ${ monkey }')
220
258
  output = @template.render(context)
221
259
  output.should == "'weird' magic"
222
260
  end
@@ -1,11 +1,19 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require 'test_helper'
3
+ require File.expand_path('../../test_helper', __FILE__)
4
4
 
5
5
 
6
6
  class TypeHierarchyTest < MiniTest::Spec
7
7
 
8
8
 
9
+ def setup
10
+ @site = setup_site
11
+ end
12
+
13
+ def teardown
14
+ teardown_site
15
+ end
16
+
9
17
  context "Content" do
10
18
  should "have an empty supertype" do
11
19
  S::Content.supertype.should be_nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spontaneous
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.alpha1
4
+ version: 0.2.0.alpha1
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,34 +9,55 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-18 00:00:00.000000000 +01:00
13
- default_executable:
12
+ date: 2012-02-16 00:00:00.000000000Z
14
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: &70330056810260 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>'
20
+ - !ruby/object:Gem::Version
21
+ version: 1.0.15
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70330056810260
15
25
  - !ruby/object:Gem::Dependency
16
26
  name: rake
17
- requirement: &70168047658660 !ruby/object:Gem::Requirement
27
+ requirement: &70330056809560 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 0.9.2
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70330056809560
36
+ - !ruby/object:Gem::Dependency
37
+ name: rdoc
38
+ requirement: &70330056809000 !ruby/object:Gem::Requirement
18
39
  none: false
19
40
  requirements:
20
41
  - - ~>
21
42
  - !ruby/object:Gem::Version
22
- version: 0.8.7
43
+ version: 3.9.4
23
44
  type: :runtime
24
45
  prerelease: false
25
- version_requirements: *70168047658660
46
+ version_requirements: *70330056809000
26
47
  - !ruby/object:Gem::Dependency
27
48
  name: activesupport
28
- requirement: &70168047657480 !ruby/object:Gem::Requirement
49
+ requirement: &70330056797600 !ruby/object:Gem::Requirement
29
50
  none: false
30
51
  requirements:
31
52
  - - ~>
32
53
  - !ruby/object:Gem::Version
33
- version: 3.0.4
54
+ version: 3.2.0.rc1
34
55
  type: :runtime
35
56
  prerelease: false
36
- version_requirements: *70168047657480
57
+ version_requirements: *70330056797600
37
58
  - !ruby/object:Gem::Dependency
38
59
  name: home_run
39
- requirement: &70168047656560 !ruby/object:Gem::Requirement
60
+ requirement: &70330056793740 !ruby/object:Gem::Requirement
40
61
  none: false
41
62
  requirements:
42
63
  - - ~>
@@ -44,32 +65,32 @@ dependencies:
44
65
  version: 1.0.0
45
66
  type: :runtime
46
67
  prerelease: false
47
- version_requirements: *70168047656560
68
+ version_requirements: *70330056793740
48
69
  - !ruby/object:Gem::Dependency
49
70
  name: sequel
50
- requirement: &70168047655400 !ruby/object:Gem::Requirement
71
+ requirement: &70330056793100 !ruby/object:Gem::Requirement
51
72
  none: false
52
73
  requirements:
53
74
  - - ~>
54
75
  - !ruby/object:Gem::Version
55
- version: '3.20'
76
+ version: '3.31'
56
77
  type: :runtime
57
78
  prerelease: false
58
- version_requirements: *70168047655400
79
+ version_requirements: *70330056793100
59
80
  - !ruby/object:Gem::Dependency
60
81
  name: yajl-ruby
61
- requirement: &70168047653720 !ruby/object:Gem::Requirement
82
+ requirement: &70330056792620 !ruby/object:Gem::Requirement
62
83
  none: false
63
84
  requirements:
64
85
  - - ~>
65
86
  - !ruby/object:Gem::Version
66
- version: '0.7'
87
+ version: '1.1'
67
88
  type: :runtime
68
89
  prerelease: false
69
- version_requirements: *70168047653720
90
+ version_requirements: *70330056792620
70
91
  - !ruby/object:Gem::Dependency
71
92
  name: erubis
72
- requirement: &70168047652480 !ruby/object:Gem::Requirement
93
+ requirement: &70330056792020 !ruby/object:Gem::Requirement
73
94
  none: false
74
95
  requirements:
75
96
  - - ~>
@@ -77,43 +98,43 @@ dependencies:
77
98
  version: '2.6'
78
99
  type: :runtime
79
100
  prerelease: false
80
- version_requirements: *70168047652480
101
+ version_requirements: *70330056792020
81
102
  - !ruby/object:Gem::Dependency
82
- name: tenjin
83
- requirement: &70168047651180 !ruby/object:Gem::Requirement
103
+ name: fog
104
+ requirement: &70330056791540 !ruby/object:Gem::Requirement
84
105
  none: false
85
106
  requirements:
86
107
  - - ~>
87
108
  - !ruby/object:Gem::Version
88
- version: 0.6.1
109
+ version: 1.1.1
89
110
  type: :runtime
90
111
  prerelease: false
91
- version_requirements: *70168047651180
112
+ version_requirements: *70330056791540
92
113
  - !ruby/object:Gem::Dependency
93
114
  name: sinatra
94
- requirement: &70168047649980 !ruby/object:Gem::Requirement
115
+ requirement: &70330056791060 !ruby/object:Gem::Requirement
95
116
  none: false
96
117
  requirements:
97
118
  - - ~>
98
119
  - !ruby/object:Gem::Version
99
- version: 1.1.2
120
+ version: 1.3.0
100
121
  type: :runtime
101
122
  prerelease: false
102
- version_requirements: *70168047649980
123
+ version_requirements: *70330056791060
103
124
  - !ruby/object:Gem::Dependency
104
125
  name: rack
105
- requirement: &70168047648120 !ruby/object:Gem::Requirement
126
+ requirement: &70330056790560 !ruby/object:Gem::Requirement
106
127
  none: false
107
128
  requirements:
108
129
  - - ~>
109
130
  - !ruby/object:Gem::Version
110
- version: 1.3.beta
131
+ version: 1.3.4
111
132
  type: :runtime
112
133
  prerelease: false
113
- version_requirements: *70168047648120
134
+ version_requirements: *70330056790560
114
135
  - !ruby/object:Gem::Dependency
115
136
  name: thin
116
- requirement: &70168047646220 !ruby/object:Gem::Requirement
137
+ requirement: &70330056790000 !ruby/object:Gem::Requirement
117
138
  none: false
118
139
  requirements:
119
140
  - - ~>
@@ -121,10 +142,10 @@ dependencies:
121
142
  version: '1.2'
122
143
  type: :runtime
123
144
  prerelease: false
124
- version_requirements: *70168047646220
145
+ version_requirements: *70330056790000
125
146
  - !ruby/object:Gem::Dependency
126
147
  name: less
127
- requirement: &70168047644540 !ruby/object:Gem::Requirement
148
+ requirement: &70330056789460 !ruby/object:Gem::Requirement
128
149
  none: false
129
150
  requirements:
130
151
  - - ~>
@@ -132,10 +153,10 @@ dependencies:
132
153
  version: '1.2'
133
154
  type: :runtime
134
155
  prerelease: false
135
- version_requirements: *70168047644540
156
+ version_requirements: *70330056789460
136
157
  - !ruby/object:Gem::Dependency
137
158
  name: sass
138
- requirement: &70168047643620 !ruby/object:Gem::Requirement
159
+ requirement: &70330056788820 !ruby/object:Gem::Requirement
139
160
  none: false
140
161
  requirements:
141
162
  - - ~>
@@ -143,10 +164,10 @@ dependencies:
143
164
  version: 3.1.4
144
165
  type: :runtime
145
166
  prerelease: false
146
- version_requirements: *70168047643620
167
+ version_requirements: *70330056788820
147
168
  - !ruby/object:Gem::Dependency
148
169
  name: stringex
149
- requirement: &70168047642200 !ruby/object:Gem::Requirement
170
+ requirement: &70330056787920 !ruby/object:Gem::Requirement
150
171
  none: false
151
172
  requirements:
152
173
  - - ~>
@@ -154,10 +175,10 @@ dependencies:
154
175
  version: '1.1'
155
176
  type: :runtime
156
177
  prerelease: false
157
- version_requirements: *70168047642200
178
+ version_requirements: *70330056787920
158
179
  - !ruby/object:Gem::Dependency
159
180
  name: mini_magick
160
- requirement: &70168047640760 !ruby/object:Gem::Requirement
181
+ requirement: &70330056786640 !ruby/object:Gem::Requirement
161
182
  none: false
162
183
  requirements:
163
184
  - - ~>
@@ -165,21 +186,10 @@ dependencies:
165
186
  version: '3.3'
166
187
  type: :runtime
167
188
  prerelease: false
168
- version_requirements: *70168047640760
169
- - !ruby/object:Gem::Dependency
170
- name: fire_and_forget
171
- requirement: &70168047639440 !ruby/object:Gem::Requirement
172
- none: false
173
- requirements:
174
- - - ~>
175
- - !ruby/object:Gem::Version
176
- version: 0.3.2
177
- type: :runtime
178
- prerelease: false
179
- version_requirements: *70168047639440
189
+ version_requirements: *70330056786640
180
190
  - !ruby/object:Gem::Dependency
181
191
  name: thor
182
- requirement: &70168047638480 !ruby/object:Gem::Requirement
192
+ requirement: &70330056785880 !ruby/object:Gem::Requirement
183
193
  none: false
184
194
  requirements:
185
195
  - - ~>
@@ -187,21 +197,10 @@ dependencies:
187
197
  version: 0.14.6
188
198
  type: :runtime
189
199
  prerelease: false
190
- version_requirements: *70168047638480
191
- - !ruby/object:Gem::Dependency
192
- name: hwia
193
- requirement: &70168047637160 !ruby/object:Gem::Requirement
194
- none: false
195
- requirements:
196
- - - ~>
197
- - !ruby/object:Gem::Version
198
- version: 1.0.2
199
- type: :runtime
200
- prerelease: false
201
- version_requirements: *70168047637160
200
+ version_requirements: *70330056785880
202
201
  - !ruby/object:Gem::Dependency
203
202
  name: base58
204
- requirement: &70168047636040 !ruby/object:Gem::Requirement
203
+ requirement: &70330056785080 !ruby/object:Gem::Requirement
205
204
  none: false
206
205
  requirements:
207
206
  - - ~>
@@ -209,10 +208,10 @@ dependencies:
209
208
  version: 0.1.0
210
209
  type: :runtime
211
210
  prerelease: false
212
- version_requirements: *70168047636040
211
+ version_requirements: *70330056785080
213
212
  - !ruby/object:Gem::Dependency
214
213
  name: kramdown
215
- requirement: &70168047634760 !ruby/object:Gem::Requirement
214
+ requirement: &70330056784320 !ruby/object:Gem::Requirement
216
215
  none: false
217
216
  requirements:
218
217
  - - ~>
@@ -220,10 +219,10 @@ dependencies:
220
219
  version: 0.13.3
221
220
  type: :runtime
222
221
  prerelease: false
223
- version_requirements: *70168047634760
222
+ version_requirements: *70330056784320
224
223
  - !ruby/object:Gem::Dependency
225
224
  name: launchy
226
- requirement: &70168047633300 !ruby/object:Gem::Requirement
225
+ requirement: &70330056783520 !ruby/object:Gem::Requirement
227
226
  none: false
228
227
  requirements:
229
228
  - - ~>
@@ -231,10 +230,10 @@ dependencies:
231
230
  version: 0.4.0
232
231
  type: :runtime
233
232
  prerelease: false
234
- version_requirements: *70168047633300
233
+ version_requirements: *70330056783520
235
234
  - !ruby/object:Gem::Dependency
236
235
  name: shine
237
- requirement: &70168047632120 !ruby/object:Gem::Requirement
236
+ requirement: &70330056782560 !ruby/object:Gem::Requirement
238
237
  none: false
239
238
  requirements:
240
239
  - - ~>
@@ -242,183 +241,194 @@ dependencies:
242
241
  version: '0.6'
243
242
  type: :runtime
244
243
  prerelease: false
245
- version_requirements: *70168047632120
244
+ version_requirements: *70330056782560
246
245
  - !ruby/object:Gem::Dependency
247
- name: minitest
248
- requirement: &70168047618440 !ruby/object:Gem::Requirement
246
+ name: foreman
247
+ requirement: &70330056781680 !ruby/object:Gem::Requirement
249
248
  none: false
250
249
  requirements:
251
250
  - - ~>
252
251
  - !ruby/object:Gem::Version
253
- version: 2.1.0
254
- type: :development
252
+ version: 0.22.0
253
+ type: :runtime
255
254
  prerelease: false
256
- version_requirements: *70168047618440
255
+ version_requirements: *70330056781680
257
256
  - !ruby/object:Gem::Dependency
258
- name: mysql2
259
- requirement: &70168047617440 !ruby/object:Gem::Requirement
257
+ name: simultaneous
258
+ requirement: &70330056780920 !ruby/object:Gem::Requirement
260
259
  none: false
261
260
  requirements:
262
261
  - - ~>
263
262
  - !ruby/object:Gem::Version
264
263
  version: '0.2'
265
- type: :development
264
+ type: :runtime
266
265
  prerelease: false
267
- version_requirements: *70168047617440
266
+ version_requirements: *70330056780920
268
267
  - !ruby/object:Gem::Dependency
269
- name: jeweler
270
- requirement: &70168047616360 !ruby/object:Gem::Requirement
268
+ name: rack-async
269
+ requirement: &70330056780200 !ruby/object:Gem::Requirement
271
270
  none: false
272
271
  requirements:
273
272
  - - ~>
274
273
  - !ruby/object:Gem::Version
275
- version: '1.5'
276
- type: :development
274
+ version: 0.1.0
275
+ type: :runtime
277
276
  prerelease: false
278
- version_requirements: *70168047616360
277
+ version_requirements: *70330056780200
279
278
  - !ruby/object:Gem::Dependency
280
- name: jnunemaker-matchy
281
- requirement: &70168047615400 !ruby/object:Gem::Requirement
279
+ name: xapian-full
280
+ requirement: &70330056779520 !ruby/object:Gem::Requirement
282
281
  none: false
283
282
  requirements:
284
283
  - - ~>
285
284
  - !ruby/object:Gem::Version
286
- version: '0.4'
287
- type: :development
285
+ version: 1.2.3
286
+ type: :runtime
288
287
  prerelease: false
289
- version_requirements: *70168047615400
288
+ version_requirements: *70330056779520
290
289
  - !ruby/object:Gem::Dependency
291
- name: shoulda
292
- requirement: &70168047614280 !ruby/object:Gem::Requirement
290
+ name: xapian-fu
291
+ requirement: &70330056778980 !ruby/object:Gem::Requirement
293
292
  none: false
294
293
  requirements:
295
- - - ! '>='
294
+ - - ~>
296
295
  - !ruby/object:Gem::Version
297
- version: '0'
298
- type: :development
296
+ version: '1.3'
297
+ type: :runtime
299
298
  prerelease: false
300
- version_requirements: *70168047614280
299
+ version_requirements: *70330056778980
301
300
  - !ruby/object:Gem::Dependency
302
- name: timecop
303
- requirement: &70168047612340 !ruby/object:Gem::Requirement
301
+ name: nokogiri
302
+ requirement: &70330056778500 !ruby/object:Gem::Requirement
304
303
  none: false
305
304
  requirements:
306
305
  - - ~>
307
306
  - !ruby/object:Gem::Version
308
- version: '0.3'
309
- type: :development
307
+ version: 1.5.0
308
+ type: :runtime
310
309
  prerelease: false
311
- version_requirements: *70168047612340
310
+ version_requirements: *70330056778500
312
311
  - !ruby/object:Gem::Dependency
313
- name: mocha
314
- requirement: &70168047611040 !ruby/object:Gem::Requirement
312
+ name: watchr
313
+ requirement: &70330056778020 !ruby/object:Gem::Requirement
315
314
  none: false
316
315
  requirements:
317
316
  - - ~>
318
317
  - !ruby/object:Gem::Version
319
- version: '0.9'
318
+ version: '0.7'
319
+ type: :runtime
320
+ prerelease: false
321
+ version_requirements: *70330056778020
322
+ - !ruby/object:Gem::Dependency
323
+ name: minitest
324
+ requirement: &70330056777540 !ruby/object:Gem::Requirement
325
+ none: false
326
+ requirements:
327
+ - - ~>
328
+ - !ruby/object:Gem::Version
329
+ version: 2.1.0
320
330
  type: :development
321
331
  prerelease: false
322
- version_requirements: *70168047611040
332
+ version_requirements: *70330056777540
323
333
  - !ruby/object:Gem::Dependency
324
- name: rack-test
325
- requirement: &70168047603520 !ruby/object:Gem::Requirement
334
+ name: mysql2
335
+ requirement: &70330056777020 !ruby/object:Gem::Requirement
326
336
  none: false
327
337
  requirements:
328
338
  - - ~>
329
339
  - !ruby/object:Gem::Version
330
- version: '0.5'
340
+ version: '0.3'
331
341
  type: :development
332
342
  prerelease: false
333
- version_requirements: *70168047603520
343
+ version_requirements: *70330056777020
334
344
  - !ruby/object:Gem::Dependency
335
- name: leftright
336
- requirement: &70168047602480 !ruby/object:Gem::Requirement
345
+ name: jeweler
346
+ requirement: &70330056776500 !ruby/object:Gem::Requirement
337
347
  none: false
338
348
  requirements:
339
349
  - - ~>
340
350
  - !ruby/object:Gem::Version
341
- version: '0.9'
351
+ version: '1.5'
342
352
  type: :development
343
353
  prerelease: false
344
- version_requirements: *70168047602480
354
+ version_requirements: *70330056776500
345
355
  - !ruby/object:Gem::Dependency
346
- name: stackdeck
347
- requirement: &70168047601060 !ruby/object:Gem::Requirement
356
+ name: jnunemaker-matchy
357
+ requirement: &70330056775920 !ruby/object:Gem::Requirement
348
358
  none: false
349
359
  requirements:
350
360
  - - ~>
351
361
  - !ruby/object:Gem::Version
352
- version: '0.2'
362
+ version: '0.4'
353
363
  type: :development
354
364
  prerelease: false
355
- version_requirements: *70168047601060
365
+ version_requirements: *70330056775920
356
366
  - !ruby/object:Gem::Dependency
357
- name: selenium-client
358
- requirement: &70168047599500 !ruby/object:Gem::Requirement
367
+ name: shoulda
368
+ requirement: &70330056775340 !ruby/object:Gem::Requirement
359
369
  none: false
360
370
  requirements:
361
371
  - - ~>
362
372
  - !ruby/object:Gem::Version
363
- version: 1.2.18
373
+ version: 2.11.3
364
374
  type: :development
365
375
  prerelease: false
366
- version_requirements: *70168047599500
376
+ version_requirements: *70330056775340
367
377
  - !ruby/object:Gem::Dependency
368
- name: johnson
369
- requirement: &70168047598100 !ruby/object:Gem::Requirement
378
+ name: timecop
379
+ requirement: &70330056764800 !ruby/object:Gem::Requirement
370
380
  none: false
371
381
  requirements:
372
- - - =
382
+ - - ~>
373
383
  - !ruby/object:Gem::Version
374
- version: 2.0.0.pre3
384
+ version: '0.3'
375
385
  type: :development
376
386
  prerelease: false
377
- version_requirements: *70168047598100
387
+ version_requirements: *70330056764800
378
388
  - !ruby/object:Gem::Dependency
379
- name: harmony
380
- requirement: &70168047597100 !ruby/object:Gem::Requirement
389
+ name: mocha
390
+ requirement: &70330056764140 !ruby/object:Gem::Requirement
381
391
  none: false
382
392
  requirements:
383
393
  - - ~>
384
394
  - !ruby/object:Gem::Version
385
- version: '0.5'
395
+ version: '0.9'
386
396
  type: :development
387
397
  prerelease: false
388
- version_requirements: *70168047597100
398
+ version_requirements: *70330056764140
389
399
  - !ruby/object:Gem::Dependency
390
- name: ruby-debug
391
- requirement: &70168047593280 !ruby/object:Gem::Requirement
400
+ name: rack-test
401
+ requirement: &70330056763640 !ruby/object:Gem::Requirement
392
402
  none: false
393
403
  requirements:
394
- - - ! '>='
404
+ - - ~>
395
405
  - !ruby/object:Gem::Version
396
- version: '0'
406
+ version: '0.5'
397
407
  type: :development
398
408
  prerelease: false
399
- version_requirements: *70168047593280
409
+ version_requirements: *70330056763640
400
410
  - !ruby/object:Gem::Dependency
401
- name: reek
402
- requirement: &70168047592140 !ruby/object:Gem::Requirement
411
+ name: leftright
412
+ requirement: &70330056762900 !ruby/object:Gem::Requirement
403
413
  none: false
404
414
  requirements:
405
- - - ! '>='
415
+ - - ~>
406
416
  - !ruby/object:Gem::Version
407
- version: '0'
417
+ version: '0.9'
408
418
  type: :development
409
419
  prerelease: false
410
- version_requirements: *70168047592140
420
+ version_requirements: *70330056762900
411
421
  - !ruby/object:Gem::Dependency
412
- name: locat
413
- requirement: &70168047590840 !ruby/object:Gem::Requirement
422
+ name: stackdeck
423
+ requirement: &70330056762260 !ruby/object:Gem::Requirement
414
424
  none: false
415
425
  requirements:
416
- - - ! '>='
426
+ - - ~>
417
427
  - !ruby/object:Gem::Version
418
- version: '0'
428
+ version: '0.2'
419
429
  type: :development
420
430
  prerelease: false
421
- version_requirements: *70168047590840
431
+ version_requirements: *70330056762260
422
432
  description: Spontaneous is a next-generation Ruby CMS
423
433
  email: garry@magnetised.net
424
434
  executables:
@@ -429,7 +439,6 @@ extra_rdoc_files:
429
439
  - LICENSE
430
440
  files:
431
441
  - Gemfile
432
- - Gemfile.lock
433
442
  - LICENSE
434
443
  - README
435
444
  - Rakefile
@@ -439,8 +448,9 @@ files:
439
448
  - application/css/developer.scss
440
449
  - application/css/editing.scss
441
450
  - application/css/login.scss
442
- - application/css/min/54ee0ed3c7fac7632bd5c020d69e9a2503e0c88c.css
443
- - application/css/min/c256adc144e2bdd0b0539356b04eb62db01e1dc3.css
451
+ - application/css/min/565d4c25e82148acb01c45c8d675b37a08676d77.css
452
+ - application/css/min/84dbe894ea96eafd321c30823d630817bfc4b03b.css
453
+ - application/css/min/d1b54ff4847c613618267ca1c15658e2aee0a4e5.css
444
454
  - application/css/popover.scss
445
455
  - application/css/schema_error.scss
446
456
  - application/css/spontaneous.scss
@@ -459,28 +469,30 @@ files:
459
469
  - application/js/content_area.js
460
470
  - application/js/dialogue.js
461
471
  - application/js/dom.js
462
- - application/js/edit_dialogue.js
463
472
  - application/js/edit_panel.js
464
473
  - application/js/editing.js
465
474
  - application/js/entry.js
475
+ - application/js/event_source.js
466
476
  - application/js/extensions.js
467
477
  - application/js/field.js
468
478
  - application/js/field_preview.js
469
479
  - application/js/field_types/date_field.js
470
480
  - application/js/field_types/file_field.js
471
481
  - application/js/field_types/image_field.js
482
+ - application/js/field_types/long_string_field.js
472
483
  - application/js/field_types/markdown_field.js
473
484
  - application/js/field_types/string_field.js
485
+ - application/js/field_types/webvideo_field.js
474
486
  - application/js/image.js
475
487
  - application/js/init.js
476
488
  - application/js/load.js
477
489
  - application/js/location.js
478
490
  - application/js/login.js
479
- - application/js/min/492a209de8ee955fa9c729a765377495001e11b1.js
480
- - application/js/min/80f684d77c940887a1d4a63e3a96102e993baa98.js
491
+ - application/js/min/2a0c2962537a3181fedfff5c92596ba6d3122dc9.js
492
+ - application/js/min/4cf1c493d3379ecba5287758c61238034c0893f9.js
493
+ - application/js/min/78ac6b99d96750bb6b9f9aad4cb9cd91cd03f391.js
481
494
  - application/js/min/b8abf302a824c35385ff517b34111e1710ff3b37.js
482
- - application/js/min/c7140ec9475e5bf868b901e0621338d7d162358b.js
483
- - application/js/min/f07f2bd6630ee31e1c2288ec223383d8f0658ba6.js
495
+ - application/js/min/c8efb9b9f7c3f6613fcebc6be60f605b6570a382.js
484
496
  - application/js/page.js
485
497
  - application/js/page_browser.js
486
498
  - application/js/page_entry.js
@@ -501,7 +513,6 @@ files:
501
513
  - application/js/upload.js
502
514
  - application/js/upload_manager.js
503
515
  - application/js/user.js
504
- - application/js/vendor/.DS_Store
505
516
  - application/js/vendor/JS.Class-2.1.5/CHANGELOG
506
517
  - application/js/vendor/JS.Class-2.1.5/MIT-LICENSE
507
518
  - application/js/vendor/JS.Class-2.1.5/README
@@ -524,44 +535,19 @@ files:
524
535
  - application/js/vendor/JS.Class-2.1.5/min/stack_trace.js
525
536
  - application/js/vendor/JS.Class-2.1.5/min/state.js
526
537
  - application/js/vendor/JS.Class-2.1.5/min/stdlib.js
527
- - application/js/vendor/JS.Class-2.1.5/src/command.js
528
- - application/js/vendor/JS.Class-2.1.5/src/comparable.js
529
- - application/js/vendor/JS.Class-2.1.5/src/constant_scope.js
530
- - application/js/vendor/JS.Class-2.1.5/src/core.js
531
- - application/js/vendor/JS.Class-2.1.5/src/decorator.js
532
- - application/js/vendor/JS.Class-2.1.5/src/enumerable.js
533
- - application/js/vendor/JS.Class-2.1.5/src/forwardable.js
534
- - application/js/vendor/JS.Class-2.1.5/src/hash.js
535
- - application/js/vendor/JS.Class-2.1.5/src/linked_list.js
536
- - application/js/vendor/JS.Class-2.1.5/src/loader.js
537
- - application/js/vendor/JS.Class-2.1.5/src/method_chain.js
538
- - application/js/vendor/JS.Class-2.1.5/src/observable.js
539
- - application/js/vendor/JS.Class-2.1.5/src/package.js
540
- - application/js/vendor/JS.Class-2.1.5/src/proxy.js
541
- - application/js/vendor/JS.Class-2.1.5/src/ruby.js
542
- - application/js/vendor/JS.Class-2.1.5/src/set.js
543
- - application/js/vendor/JS.Class-2.1.5/src/stack_trace.js
544
- - application/js/vendor/JS.Class-2.1.5/src/state.js
545
- - application/js/vendor/JS.Class-2.1.5/src/stdlib.js
546
538
  - application/js/vendor/crypto-2.3.0-crypto.js
547
539
  - application/js/vendor/crypto-2.3.0-sha1.js
548
540
  - application/js/vendor/diff_match_patch.js
549
- - application/js/vendor/jquery-1.4.2.min.js
550
- - application/js/vendor/jquery-1.4.3.min.js
551
- - application/js/vendor/jquery-1.5.1.min.js
552
- - application/js/vendor/jquery-1.5.1rc1.min.js
553
541
  - application/js/vendor/jquery-1.6.2.min.js
554
- - application/js/vendor/jquery-ui-1.8.6.custom.min.js
542
+ - application/js/vendor/jquery-1.7.1.min.js
543
+ - application/js/vendor/jquery-ui-1.8.16.custom.min.js
555
544
  - application/js/vendor/jquery-ui-1.8.9.custom.min.js
556
- - application/js/vendor/jquery-ui-1.8.custom.min.js
557
- - application/js/vendor/jquery.hotkeys-0.7.9.js
558
- - application/js/vendor/jquery.hotkeys-0.7.9.min.js
559
- - application/js/vendor/jsdiff.js
560
545
  - application/js/views.js
561
546
  - application/js/views/box_view.js
562
547
  - application/js/views/page_piece_view.js
563
548
  - application/js/views/page_view.js
564
549
  - application/js/views/piece_view.js
550
+ - application/static/diagonal-texture.png
565
551
  - application/static/editing-0-noise.png
566
552
  - application/static/editing-1-noise.png
567
553
  - application/static/editing-texture-1.png
@@ -570,6 +556,7 @@ files:
570
556
  - application/static/editing-toolbar-shadow-top.png
571
557
  - application/static/favicon.ico
572
558
  - application/static/inner-glow.png
559
+ - application/static/item-buttons-highlight.png
573
560
  - application/static/item-buttons.png
574
561
  - application/static/location-arrow.png
575
562
  - application/static/logo-400px-transparent.png
@@ -577,19 +564,22 @@ files:
577
564
  - application/static/orange-down-arrow.png
578
565
  - application/static/page-browser-next.png
579
566
  - application/static/paper-texture-dark.png
567
+ - application/static/plus-box.png
568
+ - application/static/plus_alt.svg
580
569
  - application/static/px.gif
581
570
  - application/static/select-arrow-root.png
582
571
  - application/static/select-arrow.png
583
572
  - application/static/slot-down-arrow.png
573
+ - application/static/slot-up-arrow.png
584
574
  - application/static/splash.png
585
575
  - application/static/spontaneous.png
586
576
  - application/static/spot.png
587
577
  - application/static/spot.svg
588
578
  - application/static/texture.png
589
- - application/views/index.erubis
590
- - application/views/login.erubis
579
+ - application/views/index.erb
580
+ - application/views/login.erb
591
581
  - application/views/schema_modification_error.html.erb
592
- - application/views/unsupported.erubis
582
+ - application/views/unsupported.erb
593
583
  - bin/limit-upload
594
584
  - bin/spot
595
585
  - bin/unlimit-upload
@@ -604,20 +594,25 @@ files:
604
594
  - db/migrations/20110521114145_remove_slots_and_entries.rb
605
595
  - db/migrations/20110604192145_rename_schema_id_columns.rb
606
596
  - db/migrations/20110805141925_rename_site_to_state.rb
597
+ - db/migrations/20120106171423_visibility_path.rb
598
+ - db/migrations/20120107124541_owner_id.rb
599
+ - docs/recipe-interface-screenshot.png
607
600
  - lib/cutaneous.rb
608
601
  - lib/cutaneous/context_helper.rb
609
- - lib/cutaneous/first_pass_parser.rb
610
- - lib/cutaneous/first_pass_renderer.rb
611
- - lib/cutaneous/parser_core.rb
612
602
  - lib/cutaneous/preview_context.rb
613
603
  - lib/cutaneous/preview_renderer.rb
614
604
  - lib/cutaneous/publish_context.rb
605
+ - lib/cutaneous/publish_renderer.rb
606
+ - lib/cutaneous/publish_template.rb
607
+ - lib/cutaneous/publish_token_parser.rb
615
608
  - lib/cutaneous/renderer.rb
616
609
  - lib/cutaneous/request_context.rb
617
- - lib/cutaneous/second_pass_parser.rb
618
- - lib/cutaneous/second_pass_renderer.rb
610
+ - lib/cutaneous/request_renderer.rb
611
+ - lib/cutaneous/request_template.rb
612
+ - lib/cutaneous/request_token_parser.rb
613
+ - lib/cutaneous/token_parser.rb
619
614
  - lib/sequel/plugins/content_table_inheritance.rb
620
- - lib/sequel/plugins/yajl_serialization.rb
615
+ - lib/sequel/plugins/scoped_table_name.rb
621
616
  - lib/spontaneous.rb
622
617
  - lib/spontaneous/application.rb
623
618
  - lib/spontaneous/application/feature.rb
@@ -650,6 +645,7 @@ files:
650
645
  - lib/spontaneous/extensions/hash.rb
651
646
  - lib/spontaneous/extensions/json.rb
652
647
  - lib/spontaneous/extensions/kernel.rb
648
+ - lib/spontaneous/extensions/nil.rb
653
649
  - lib/spontaneous/extensions/object.rb
654
650
  - lib/spontaneous/extensions/object_space.rb
655
651
  - lib/spontaneous/extensions/string.rb
@@ -658,8 +654,11 @@ files:
658
654
  - lib/spontaneous/field_types/date_field.rb
659
655
  - lib/spontaneous/field_types/field.rb
660
656
  - lib/spontaneous/field_types/image_field.rb
657
+ - lib/spontaneous/field_types/location_field.rb
658
+ - lib/spontaneous/field_types/long_string_field.rb
661
659
  - lib/spontaneous/field_types/markdown_field.rb
662
660
  - lib/spontaneous/field_types/string_field.rb
661
+ - lib/spontaneous/field_types/webvideo_field.rb
663
662
  - lib/spontaneous/generators.rb
664
663
  - lib/spontaneous/generators/page.rb
665
664
  - lib/spontaneous/generators/page/inline.html.cut
@@ -677,15 +676,17 @@ files:
677
676
  - lib/spontaneous/generators/site/config/environments/development.rb.tt
678
677
  - lib/spontaneous/generators/site/config/environments/production.rb.tt
679
678
  - lib/spontaneous/generators/site/config/front.ru
679
+ - lib/spontaneous/generators/site/config/indexes.rb.tt
680
680
  - lib/spontaneous/generators/site/config/user_levels.yml
681
681
  - lib/spontaneous/generators/site/lib/site.rb.tt
682
682
  - lib/spontaneous/generators/site/lib/tasks/site.rake.tt
683
- - lib/spontaneous/generators/site/public/css/site.css
683
+ - lib/spontaneous/generators/site/public/css/site.scss
684
684
  - lib/spontaneous/generators/site/public/favicon.ico
685
685
  - lib/spontaneous/generators/site/public/js/.empty_directory
686
686
  - lib/spontaneous/generators/site/public/js/site.js
687
687
  - lib/spontaneous/generators/site/public/robots.txt
688
688
  - lib/spontaneous/generators/site/schema/.map
689
+ - lib/spontaneous/generators/site/schema/box.rb.tt
689
690
  - lib/spontaneous/generators/site/schema/page.rb.tt
690
691
  - lib/spontaneous/generators/site/schema/piece.rb.tt
691
692
  - lib/spontaneous/generators/site/templates/layouts/standard.html.cut.tt
@@ -695,6 +696,7 @@ files:
695
696
  - lib/spontaneous/loader.rb
696
697
  - lib/spontaneous/logger.rb
697
698
  - lib/spontaneous/media.rb
699
+ - lib/spontaneous/media/file.rb
698
700
  - lib/spontaneous/page.rb
699
701
  - lib/spontaneous/page_controller.rb
700
702
  - lib/spontaneous/page_piece.rb
@@ -705,10 +707,10 @@ files:
705
707
  - lib/spontaneous/permissions/user.rb
706
708
  - lib/spontaneous/permissions/user_level.rb
707
709
  - lib/spontaneous/piece.rb
708
- - lib/spontaneous/plugins.rb
709
710
  - lib/spontaneous/plugins/aliases.rb
710
711
  - lib/spontaneous/plugins/allowed_types.rb
711
712
  - lib/spontaneous/plugins/application/facets.rb
713
+ - lib/spontaneous/plugins/application/features.rb
712
714
  - lib/spontaneous/plugins/application/paths.rb
713
715
  - lib/spontaneous/plugins/application/render.rb
714
716
  - lib/spontaneous/plugins/application/serialisation.rb
@@ -717,6 +719,7 @@ files:
717
719
  - lib/spontaneous/plugins/controllers.rb
718
720
  - lib/spontaneous/plugins/entries.rb
719
721
  - lib/spontaneous/plugins/entry.rb
722
+ - lib/spontaneous/plugins/field/editor_class.rb
720
723
  - lib/spontaneous/plugins/fields.rb
721
724
  - lib/spontaneous/plugins/instance_code.rb
722
725
  - lib/spontaneous/plugins/layouts.rb
@@ -734,11 +737,16 @@ files:
734
737
  - lib/spontaneous/plugins/schema_id.rb
735
738
  - lib/spontaneous/plugins/schema_title.rb
736
739
  - lib/spontaneous/plugins/serialisation.rb
740
+ - lib/spontaneous/plugins/site/features.rb
737
741
  - lib/spontaneous/plugins/site/instance.rb
742
+ - lib/spontaneous/plugins/site/level.rb
738
743
  - lib/spontaneous/plugins/site/map.rb
739
744
  - lib/spontaneous/plugins/site/publishing.rb
740
745
  - lib/spontaneous/plugins/site/revisions.rb
746
+ - lib/spontaneous/plugins/site/schema.rb
747
+ - lib/spontaneous/plugins/site/search.rb
741
748
  - lib/spontaneous/plugins/site/selectors.rb
749
+ - lib/spontaneous/plugins/site/storage.rb
742
750
  - lib/spontaneous/plugins/site_map.rb
743
751
  - lib/spontaneous/plugins/styles.rb
744
752
  - lib/spontaneous/plugins/supertype.rb
@@ -747,53 +755,81 @@ files:
747
755
  - lib/spontaneous/prototypes/field_prototype.rb
748
756
  - lib/spontaneous/prototypes/layout_prototype.rb
749
757
  - lib/spontaneous/prototypes/style_prototype.rb
750
- - lib/spontaneous/proxy_object.rb
751
758
  - lib/spontaneous/publishing.rb
752
- - lib/spontaneous/publishing/fire_and_forget.rb
753
759
  - lib/spontaneous/publishing/immediate.rb
760
+ - lib/spontaneous/publishing/simultaneous.rb
754
761
  - lib/spontaneous/publishing/threaded.rb
755
762
  - lib/spontaneous/rack.rb
756
763
  - lib/spontaneous/rack/around_back.rb
757
764
  - lib/spontaneous/rack/around_front.rb
758
765
  - lib/spontaneous/rack/around_preview.rb
759
766
  - lib/spontaneous/rack/assets.rb
767
+ - lib/spontaneous/rack/authentication.rb
760
768
  - lib/spontaneous/rack/back.rb
769
+ - lib/spontaneous/rack/cacheable_file.rb
770
+ - lib/spontaneous/rack/cookie_authentication.rb
771
+ - lib/spontaneous/rack/css.rb
772
+ - lib/spontaneous/rack/event_source.rb
761
773
  - lib/spontaneous/rack/front.rb
774
+ - lib/spontaneous/rack/helpers.rb
762
775
  - lib/spontaneous/rack/http.rb
763
776
  - lib/spontaneous/rack/media.rb
764
777
  - lib/spontaneous/rack/public.rb
778
+ - lib/spontaneous/rack/query_authentication.rb
765
779
  - lib/spontaneous/rack/reloader.rb
766
780
  - lib/spontaneous/rack/static.rb
781
+ - lib/spontaneous/rack/user_helpers.rb
767
782
  - lib/spontaneous/render.rb
768
- - lib/spontaneous/render/context.rb
783
+ - lib/spontaneous/render/context_base.rb
769
784
  - lib/spontaneous/render/development_renderer.rb
770
785
  - lib/spontaneous/render/engine.rb
771
786
  - lib/spontaneous/render/format.rb
772
787
  - lib/spontaneous/render/format/html.rb
788
+ - lib/spontaneous/render/helpers.rb
789
+ - lib/spontaneous/render/helpers/html_helper.rb
790
+ - lib/spontaneous/render/helpers/script_helper.rb
791
+ - lib/spontaneous/render/helpers/stylesheet_helper.rb
792
+ - lib/spontaneous/render/preview_context.rb
773
793
  - lib/spontaneous/render/preview_renderer.rb
794
+ - lib/spontaneous/render/publish_context.rb
774
795
  - lib/spontaneous/render/published_renderer.rb
775
796
  - lib/spontaneous/render/publishing_renderer.rb
797
+ - lib/spontaneous/render/render_cache.rb
776
798
  - lib/spontaneous/render/renderer.rb
799
+ - lib/spontaneous/render/request_context.rb
777
800
  - lib/spontaneous/revision.rb
778
801
  - lib/spontaneous/schema.rb
779
802
  - lib/spontaneous/schema/schema_modification.rb
780
803
  - lib/spontaneous/schema/uid.rb
804
+ - lib/spontaneous/schema/uid_map.rb
805
+ - lib/spontaneous/search.rb
806
+ - lib/spontaneous/search/compound_indexer.rb
807
+ - lib/spontaneous/search/database.rb
808
+ - lib/spontaneous/search/field.rb
809
+ - lib/spontaneous/search/index.rb
810
+ - lib/spontaneous/search/results.rb
781
811
  - lib/spontaneous/server.rb
782
812
  - lib/spontaneous/site.rb
783
813
  - lib/spontaneous/state.rb
814
+ - lib/spontaneous/storage.rb
815
+ - lib/spontaneous/storage/backend.rb
816
+ - lib/spontaneous/storage/cloud.rb
817
+ - lib/spontaneous/storage/local.rb
784
818
  - lib/spontaneous/style.rb
785
819
  - lib/spontaneous/tasks.rb
786
820
  - lib/spontaneous/tasks/database.rake
787
821
  - lib/spontaneous/version.rb
788
- - spontaneous.gemspec.tmpl
822
+ - spontaneous.gemspec
789
823
  - test/disabled/test_slots.rb
790
- - test/experimental/test_formats.rb
791
- - test/experimental/test_plugins.rb
824
+ - test/experimental/test_cutaneous.rb
825
+ - test/experimental/test_features.rb
792
826
  - test/fixtures/application/css/test.less
793
827
  - test/fixtures/application/js/test.js
794
828
  - test/fixtures/application/static/favicon.ico
795
829
  - test/fixtures/application/static/test.html
796
- - test/fixtures/application/views/index.erubis
830
+ - test/fixtures/application/views/index.erb
831
+ - test/fixtures/back/public/css/sass_include.scss
832
+ - test/fixtures/back/public/css/sass_template.scss
797
833
  - test/fixtures/back/public/test.html
798
834
  - test/fixtures/back/templates/layouts/standard.html.cut
799
835
  - test/fixtures/config/config/environment.rb
@@ -847,6 +883,7 @@ files:
847
883
  - test/fixtures/example_application/templates/project/inline.html.cut
848
884
  - test/fixtures/example_application/templates/project_image.html.cut
849
885
  - test/fixtures/example_application/templates/text.html.cut
886
+ - test/fixtures/fields/youtube_api_response.xml
850
887
  - test/fixtures/images/rose.greyscale.jpg
851
888
  - test/fixtures/images/rose.jpg
852
889
  - test/fixtures/images/size.gif
@@ -858,11 +895,19 @@ files:
858
895
  - test/fixtures/layouts/layouts/custom1.xml.cut
859
896
  - test/fixtures/layouts/layouts/custom2.html.cut
860
897
  - test/fixtures/layouts/layouts/custom3.html.cut
898
+ - test/fixtures/layouts/layouts/custom4.html.cut
861
899
  - test/fixtures/layouts/layouts/standard.html.cut
862
900
  - test/fixtures/media/101/003/rose.jpg
863
901
  - test/fixtures/permissions/config/user_levels.yml
864
902
  - test/fixtures/permissions/media/image.jpg
865
903
  - test/fixtures/plugins/schema_plugin/init.rb
904
+ - test/fixtures/plugins/schema_plugin/public/css/plugin.css
905
+ - test/fixtures/plugins/schema_plugin/public/js/plugin.js
906
+ - test/fixtures/plugins/schema_plugin/public/static.html
907
+ - test/fixtures/plugins/schema_plugin/public/subdir/image.gif
908
+ - test/fixtures/plugins/schema_plugin/public/subdir/include1.scss
909
+ - test/fixtures/plugins/schema_plugin/public/subdir/sass.scss
910
+ - test/fixtures/plugins/schema_plugin/public/subdir/sass/include2.scss
866
911
  - test/fixtures/plugins/schema_plugin/schema/external.rb
867
912
  - test/fixtures/plugins/schema_plugin/templates/external.html.cut
868
913
  - test/fixtures/plugins/schema_plugin/templates/from_plugin.html.cut
@@ -875,6 +920,14 @@ files:
875
920
  - test/fixtures/schema/before.yml
876
921
  - test/fixtures/schema/resolvable.yml
877
922
  - test/fixtures/schema/schema.yml
923
+ - test/fixtures/schema_modification/config/database.yml
924
+ - test/fixtures/schema_modification/config/environment.rb
925
+ - test/fixtures/schema_modification/schema/box.rb
926
+ - test/fixtures/schema_modification/schema/custom_box.rb
927
+ - test/fixtures/schema_modification/schema/page.rb
928
+ - test/fixtures/schema_modification/schema/piece.rb
929
+ - test/fixtures/search/config/database.yml
930
+ - test/fixtures/search/config/indexes.rb
878
931
  - test/fixtures/serialisation/class_hash.yaml.erb
879
932
  - test/fixtures/serialisation/root_hash.yaml.erb
880
933
  - test/fixtures/sharding/rose.jpg
@@ -885,6 +938,8 @@ files:
885
938
  - test/fixtures/sharding/xae
886
939
  - test/fixtures/sharding/xaf
887
940
  - test/fixtures/sharding/xag
941
+ - test/fixtures/storage/cloud/environment.rb
942
+ - test/fixtures/storage/default/environment.rb
888
943
  - test/fixtures/styles/box_a.html.cut
889
944
  - test/fixtures/styles/box_a/runny.html.cut
890
945
  - test/fixtures/styles/named2.html.cut
@@ -917,9 +972,15 @@ files:
917
972
  - test/fixtures/templates/content/template.html.cut
918
973
  - test/fixtures/templates/default_style_class.html.cut
919
974
  - test/fixtures/templates/direct.html.cut
975
+ - test/fixtures/templates/engine/braces.html.cut
976
+ - test/fixtures/templates/engine/multiline.html.cut
920
977
  - test/fixtures/templates/extended/grandparent.html.cut
921
978
  - test/fixtures/templates/extended/main.html.cut
922
979
  - test/fixtures/templates/extended/parent.html.cut
980
+ - test/fixtures/templates/extended/partial.html.cut
981
+ - test/fixtures/templates/extended/partial_with_locals.html.cut
982
+ - test/fixtures/templates/extended/with_includes.html.cut
983
+ - test/fixtures/templates/extended/with_includes_and_locals.html.cut
923
984
  - test/fixtures/templates/layouts/entries.html.cut
924
985
  - test/fixtures/templates/layouts/page_style.html.cut
925
986
  - test/fixtures/templates/layouts/params.html.cut
@@ -927,10 +988,13 @@ files:
927
988
  - test/fixtures/templates/layouts/standard_page.html.cut
928
989
  - test/fixtures/templates/layouts/subdir_style.html.cut
929
990
  - test/fixtures/templates/layouts/template_params.html.cut
991
+ - test/fixtures/templates/layouts/variables.html.cut
930
992
  - test/fixtures/templates/page_class/inline_style.html.cut
931
993
  - test/fixtures/templates/preview_render/inline.html.cut
932
- - test/fixtures/templates/publishing/layouts/dynamic.html.cut
933
- - test/fixtures/templates/publishing/layouts/static.html.cut
994
+ - test/fixtures/templates/preview_render/variables.html.cut
995
+ - test/fixtures/templates/publishing/templates/layouts/dynamic.html.cut
996
+ - test/fixtures/templates/publishing/templates/layouts/dynamic.rtf.cut
997
+ - test/fixtures/templates/publishing/templates/layouts/static.html.cut
934
998
  - test/fixtures/templates/template_class/anonymous_style.html.cut
935
999
  - test/fixtures/templates/template_class/another_template.html.cut
936
1000
  - test/fixtures/templates/template_class/complex_template.html.cut
@@ -964,7 +1028,9 @@ files:
964
1028
  - test/unit/test_content_inheritance.rb
965
1029
  - test/unit/test_extensions.rb
966
1030
  - test/unit/test_fields.rb
1031
+ - test/unit/test_formats.rb
967
1032
  - test/unit/test_generators.rb
1033
+ - test/unit/test_helpers.rb
968
1034
  - test/unit/test_image_size.rb
969
1035
  - test/unit/test_images.rb
970
1036
  - test/unit/test_layouts.rb
@@ -973,17 +1039,20 @@ files:
973
1039
  - test/unit/test_page.rb
974
1040
  - test/unit/test_permissions.rb
975
1041
  - test/unit/test_piece.rb
1042
+ - test/unit/test_plugins.rb
976
1043
  - test/unit/test_prototype_set.rb
977
1044
  - test/unit/test_prototypes.rb
978
1045
  - test/unit/test_render.rb
979
1046
  - test/unit/test_schema.rb
1047
+ - test/unit/test_search.rb
980
1048
  - test/unit/test_serialisation.rb
981
1049
  - test/unit/test_site.rb
1050
+ - test/unit/test_storage.rb
982
1051
  - test/unit/test_structure.rb
983
1052
  - test/unit/test_styles.rb
1053
+ - test/unit/test_table_scoping.rb
984
1054
  - test/unit/test_templates.rb
985
1055
  - test/unit/test_type_hierarchy.rb
986
- has_rdoc: true
987
1056
  homepage: http://spontaneouscms.org
988
1057
  licenses: []
989
1058
  post_install_message:
@@ -996,10 +1065,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
996
1065
  requirements:
997
1066
  - - ! '>='
998
1067
  - !ruby/object:Gem::Version
999
- version: '0'
1000
- segments:
1001
- - 0
1002
- hash: -2032741075988683927
1068
+ version: 1.9.2
1003
1069
  required_rubygems_version: !ruby/object:Gem::Requirement
1004
1070
  none: false
1005
1071
  requirements:
@@ -1008,7 +1074,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1008
1074
  version: 1.3.1
1009
1075
  requirements: []
1010
1076
  rubyforge_project: spontaneous
1011
- rubygems_version: 1.6.2
1077
+ rubygems_version: 1.8.10
1012
1078
  signing_key:
1013
1079
  specification_version: 2
1014
1080
  summary: Spontaneous is a next-generation Ruby CMS