skylinecms 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (540) hide show
  1. data/.gitignore +5 -0
  2. data/CHANGELOG +51 -1
  3. data/Gemfile +8 -0
  4. data/Rakefile +0 -43
  5. data/app/controllers/skyline/application_controller.rb +30 -26
  6. data/app/controllers/skyline/articles_controller.rb +8 -28
  7. data/app/controllers/skyline/authentications_controller.rb +6 -8
  8. data/app/controllers/skyline/browser/links_controller.rb +12 -8
  9. data/app/controllers/skyline/browser/tabs/linkables_controller.rb +9 -0
  10. data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +0 -12
  11. data/app/controllers/skyline/content/editors/editable_list_controller.rb +0 -4
  12. data/app/controllers/skyline/content/editors/joinable_list_controller.rb +1 -19
  13. data/app/controllers/skyline/content_controller.rb +14 -30
  14. data/app/controllers/skyline/content_items_controller.rb +3 -9
  15. data/app/controllers/skyline/content_sections_controller.rb +3 -10
  16. data/app/controllers/skyline/link_section_links_controller.rb +2 -10
  17. data/app/controllers/skyline/media/data_controller.rb +24 -14
  18. data/app/controllers/skyline/media/dirs_controller.rb +12 -26
  19. data/app/controllers/skyline/media/files_controller.rb +12 -28
  20. data/app/controllers/skyline/publications_controller.rb +0 -12
  21. data/app/controllers/skyline/published_publications_controller.rb +0 -4
  22. data/app/controllers/skyline/sections_controller.rb +4 -18
  23. data/app/controllers/skyline/site/media_files_data_controller.rb +11 -13
  24. data/app/controllers/skyline/site/pages_controller.rb +4 -3
  25. data/app/controllers/skyline/skyline2_controller.rb +1 -1
  26. data/app/controllers/skyline/users_controller.rb +7 -31
  27. data/app/controllers/skyline/variant_current_editor_controller.rb +5 -5
  28. data/app/controllers/skyline/variants_controller.rb +3 -3
  29. data/app/helpers/skyline/application_helper.rb +16 -5
  30. data/app/helpers/skyline/button_helper.rb +12 -18
  31. data/app/helpers/skyline/content_helper.rb +11 -11
  32. data/app/helpers/skyline/dialog_helper.rb +3 -2
  33. data/app/helpers/skyline/editors/checkable_list.rb +4 -2
  34. data/app/helpers/skyline/editors/date_time.rb +1 -1
  35. data/app/helpers/skyline/editors/display.rb +1 -1
  36. data/app/helpers/skyline/editors/editable_list.rb +13 -8
  37. data/app/helpers/skyline/editors/editor.rb +10 -10
  38. data/app/helpers/skyline/editors/list.rb +2 -2
  39. data/app/helpers/skyline/editors/page_browser.rb +1 -0
  40. data/app/helpers/skyline/editors/wysiwyg.rb +2 -3
  41. data/app/helpers/skyline/form_helper.rb +36 -0
  42. data/app/helpers/skyline/media/files_helper.rb +1 -1
  43. data/app/helpers/skyline/message_generator.rb +13 -4
  44. data/app/helpers/skyline/pages_helper.rb +1 -1
  45. data/app/helpers/skyline/plugin_helper.rb +1 -1
  46. data/app/helpers/skyline/presenters/presenter.rb +12 -8
  47. data/app/helpers/skyline/ref_object_helper.rb +9 -7
  48. data/app/helpers/skyline/translation_helper.rb +1 -1
  49. data/app/helpers/skyline/tree_helper.rb +1 -3
  50. data/app/middleware/skyline/flash_session_cookie_middleware.rb +6 -1
  51. data/app/middleware/skyline/plugins_loader_middleware.rb +1 -1
  52. data/app/middleware/skyline/sprockets_middleware.rb +1 -1
  53. data/app/models/skyline/article.rb +94 -26
  54. data/app/models/skyline/article_version.rb +22 -9
  55. data/app/models/skyline/image_ref.rb +1 -1
  56. data/app/models/skyline/inline_ref.rb +78 -62
  57. data/app/models/skyline/link_ref.rb +1 -1
  58. data/app/models/skyline/media_cache.rb +4 -2
  59. data/app/models/skyline/media_file.rb +2 -5
  60. data/app/models/skyline/media_node.rb +2 -2
  61. data/app/models/skyline/object_ref.rb +2 -2
  62. data/app/models/skyline/page.rb +8 -6
  63. data/app/models/skyline/page_fragment.rb +4 -2
  64. data/app/models/skyline/publication.rb +1 -1
  65. data/app/models/skyline/sections/content_collection_section.rb +1 -1
  66. data/app/models/skyline/sections/link_section.rb +1 -1
  67. data/app/models/skyline/user.rb +17 -7
  68. data/app/models/skyline/user_preference.rb +1 -1
  69. data/app/models/skyline/variant.rb +11 -5
  70. data/app/templates/skyline/page/default/index.html.erb +1 -1
  71. data/app/templates/skyline/sections/raw_section/default/index.html.erb +1 -1
  72. data/app/templates/skyline/sections/wysiwyg_section/default/index.html.erb +1 -1
  73. data/app/views/skyline/articles/_currently_editing.html.erb +1 -1
  74. data/app/views/skyline/articles/_meta.html.erb +24 -11
  75. data/app/views/skyline/articles/_security.html.erb +2 -2
  76. data/app/views/skyline/articles/_takeover_action.html.erb +1 -1
  77. data/app/views/skyline/articles/edit.html.erb +29 -16
  78. data/app/views/skyline/articles/edit_preview_only.html.erb +2 -2
  79. data/app/views/skyline/articles/index.html.erb +2 -2
  80. data/app/views/skyline/articles/page/_header.html.erb +1 -1
  81. data/app/views/skyline/articles/page/_index.html.erb +9 -3
  82. data/app/views/skyline/articles/page_fragment/_index.html.erb +7 -2
  83. data/app/views/skyline/articles/update.js.erb +20 -0
  84. data/app/views/skyline/authentications/new.html.erb +1 -1
  85. data/app/views/skyline/browser/links/_index.html.erb +2 -0
  86. data/app/views/skyline/browser/tabs/linkables/_index.html.erb +29 -0
  87. data/app/views/skyline/browser/tabs/linkables/_show.html.erb +67 -0
  88. data/app/views/skyline/browser/tabs/linkables/show.js.erb +4 -0
  89. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +2 -2
  90. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +4 -35
  91. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +1 -3
  92. data/app/views/skyline/browser/tabs/media_library/media_files/index.js.erb +1 -0
  93. data/app/views/skyline/browser/tabs/media_library/media_files/show.js.erb +1 -0
  94. data/app/views/skyline/browser/tabs/pages/_index.html.erb +1 -1
  95. data/app/views/skyline/content/_add.rhtml +6 -1
  96. data/app/views/skyline/content/_filter.rhtml +1 -1
  97. data/app/views/skyline/content/_import.html.erb +1 -1
  98. data/app/views/skyline/content/_index.html.erb +2 -2
  99. data/app/views/skyline/content/_meta.html.erb +2 -2
  100. data/app/views/skyline/content/create.rhtml +1 -1
  101. data/app/views/skyline/content/edit.rhtml +1 -1
  102. data/app/views/skyline/content/editors/editable_list/new.js.erb +2 -0
  103. data/app/views/skyline/content/editors/joinable_list/_add.html.erb +17 -10
  104. data/app/views/skyline/content/editors/joinable_list/_list.html.erb +24 -8
  105. data/app/views/skyline/content/editors/joinable_list/cancel.js.erb +1 -0
  106. data/app/views/skyline/content/editors/joinable_list/index.js.erb +1 -0
  107. data/app/views/skyline/content/editors/joinable_list/new.js.erb +5 -0
  108. data/app/views/skyline/content/field.js.erb +2 -0
  109. data/app/views/skyline/content/import.js.erb +4 -0
  110. data/app/views/skyline/content/order.js.erb +6 -0
  111. data/app/views/skyline/content/presenters/_table.html.erb +1 -1
  112. data/app/views/skyline/content_items/_content_item.html.erb +2 -2
  113. data/app/views/skyline/content_items/new.js.erb +6 -0
  114. data/app/views/skyline/content_sections/_tags.html.erb +2 -2
  115. data/app/views/skyline/content_sections/new.js.erb +6 -0
  116. data/app/views/skyline/link_section_links/_form.html.erb +1 -1
  117. data/app/views/skyline/link_section_links/new.js.erb +4 -0
  118. data/app/views/skyline/locales/show.js.erb +3 -3
  119. data/app/views/skyline/media/dirs/_edit.html.erb +9 -7
  120. data/app/views/skyline/media/dirs/edit.js.erb +1 -0
  121. data/app/views/skyline/media/dirs/index.html.erb +16 -6
  122. data/app/views/skyline/media/dirs/index.js.erb +6 -0
  123. data/app/views/skyline/media/dirs/show.js.erb +5 -0
  124. data/app/views/skyline/media/files/_edit.html.erb +13 -11
  125. data/app/views/skyline/media/files/_index.html.erb +2 -2
  126. data/app/views/skyline/media/files/_new.html.erb +2 -2
  127. data/app/views/skyline/media/files/edit.js.erb +4 -0
  128. data/app/views/skyline/media/files/index.js.erb +4 -0
  129. data/app/views/skyline/media/files/update.js.erb +8 -0
  130. data/app/views/skyline/publications/_index.html.erb +2 -2
  131. data/app/views/skyline/publications/index.js.erb +9 -0
  132. data/app/views/skyline/sections/_content_collection_section.html.erb +6 -6
  133. data/app/views/skyline/sections/_content_item_section.html.erb +1 -1
  134. data/app/views/skyline/sections/_form.html.erb +4 -4
  135. data/app/views/skyline/sections/_link_section.html.erb +6 -1
  136. data/app/views/skyline/sections/_splitter_section.html.erb +1 -1
  137. data/app/views/skyline/sections/_wysiwyg_section.html.erb +2 -2
  138. data/app/views/skyline/sections/new.js.erb +12 -0
  139. data/app/views/skyline/settings/edit.html.erb +1 -1
  140. data/app/views/skyline/shared/_head.html.erb +3 -0
  141. data/app/views/skyline/shared/_header_area.html.erb +5 -5
  142. data/app/views/skyline/users/_edit.html.erb +1 -1
  143. data/app/views/skyline/users/_form.html.erb +1 -1
  144. data/app/views/skyline/users/_new.html.erb +1 -1
  145. data/app/views/skyline/users/create.js.erb +2 -0
  146. data/app/views/skyline/users/edit.js.erb +1 -0
  147. data/app/views/skyline/users/index.html.erb +21 -6
  148. data/app/views/skyline/users/new.js.erb +1 -0
  149. data/app/views/skyline/users/update.js.erb +2 -0
  150. data/config/initializers/dependencies.rb +1 -17
  151. data/config/initializers/gem_dependencies.rb +10 -0
  152. data/config/initializers/locales.rb +8 -1
  153. data/config/initializers/middlewares.rb +7 -3
  154. data/config/initializers/observers.rb +6 -4
  155. data/config/locales/en-US.yml +44 -34
  156. data/config/locales/nl-NL.yml +45 -33
  157. data/config/routes.rb +65 -74
  158. data/db/migrate/20090508145820_create_skyline_pages.rb +2 -2
  159. data/db/migrate/20090508145852_create_skyline_page_versions.rb +2 -2
  160. data/db/migrate/20090508150149_create_skyline_sections.rb +1 -1
  161. data/db/migrate/20090610142139_add_skyline_tags_taggable_type.rb +2 -2
  162. data/db/migrate/20090624154251_create_skyline_link_section_links.rb +1 -1
  163. data/db/migrate/20100120113953_remove_unused_articles_index.rb +1 -1
  164. data/db/migrate/20110816080626_add_skyline_test_article_data.rb +13 -0
  165. data/db/migrate/20111101092405_rename_indexes.rb +24 -0
  166. data/doc/INSTALL.md +54 -27
  167. data/doc/MIGRATION.md +27 -2
  168. data/lib/skyline.rb +2 -1
  169. data/lib/skyline/authentication/user.rb +80 -0
  170. data/lib/skyline/belongs_to_referable.rb +1 -1
  171. data/lib/skyline/cli/init.rb +14 -26
  172. data/lib/skyline/cli/init/templates/config/initializers/skyline_configuration.rb +0 -1
  173. data/lib/skyline/configuration.rb +74 -32
  174. data/lib/skyline/content/content.rb +7 -6
  175. data/lib/skyline/content/field_meta_data.rb +2 -2
  176. data/lib/skyline/content/stack.rb +1 -1
  177. data/lib/skyline/content_item_section_selectable.rb +4 -4
  178. data/lib/skyline/deprecated/version3_0_8.rb +2 -2
  179. data/lib/skyline/engine.rb +37 -0
  180. data/lib/skyline/form_builder.rb +8 -8
  181. data/lib/skyline/linkable.rb +28 -0
  182. data/lib/skyline/plugins/manager.rb +77 -0
  183. data/lib/skyline/plugins/plugin.rb +89 -0
  184. data/lib/skyline/rendering/helpers/renderer_helper.rb +1 -1
  185. data/lib/skyline/rendering/renderer.rb +27 -13
  186. data/lib/skyline/route_constraint.rb +15 -0
  187. data/lib/skyline/settings.rb +9 -7
  188. data/lib/skyline/taggable.rb +2 -2
  189. data/lib/skyline/version.rb +4 -4
  190. data/lib/skylinecms.rb +5 -3
  191. data/lib/tasks/database.rake +2 -2
  192. data/public/skyline/javascripts/src/application.js +5 -4
  193. data/public/skyline/javascripts/src/rails.js +165 -0
  194. data/public/skyline/javascripts/src/sections.js +6 -9
  195. data/public/skyline/javascripts/src/skyline.editor/src/plugins/autoresize/editor_plugin.js +72 -27
  196. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/dialog.js +13 -12
  197. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/dialog.js +7 -7
  198. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +4 -3
  199. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +101 -536
  200. data/public/skyline/javascripts/src/skyline.editor/test/multiple_editors.html +1 -0
  201. data/public/skyline/javascripts/src/skyline.editor/test/single.html +56 -0
  202. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +1410 -1091
  203. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/accessibility.html +101 -0
  204. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/custom_formats.html +1 -1
  205. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +12 -12
  206. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/media_list.js +5 -1
  207. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.flv +0 -0
  208. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +2 -1
  209. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +4 -4
  210. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +3 -2
  211. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +1 -170
  212. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js +1 -5
  213. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +30 -29
  214. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -1
  215. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +1 -1
  216. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +34 -31
  217. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +32 -13
  218. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js +1 -43
  219. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +21 -17
  220. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js +1 -52
  221. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +35 -30
  222. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -1
  223. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js +31 -9
  224. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js +1 -0
  225. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js +172 -0
  226. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -1
  227. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +23 -5
  228. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -1
  229. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +14 -5
  230. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -1
  231. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +1 -1
  232. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -1
  233. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +34 -21
  234. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm +15 -14
  235. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  236. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  237. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  238. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  239. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  240. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  241. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js +1 -20
  242. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js +1 -0
  243. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js +50 -0
  244. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +3 -42
  245. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -1
  246. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +315 -63
  247. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +18 -330
  248. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +199 -438
  249. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +1 -85
  250. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -1
  251. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +12 -4
  252. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +2 -1
  253. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -1
  254. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +80 -16
  255. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  256. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  257. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  258. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  259. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  260. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +1 -1
  261. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +1 -1
  262. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +2 -0
  263. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -1
  264. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +31 -28
  265. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js +1 -0
  266. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js +781 -0
  267. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css +5 -4
  268. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -1
  269. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +703 -295
  270. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js +361 -602
  271. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js +1 -103
  272. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +365 -285
  273. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/moxieplayer.swf +0 -0
  274. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -1
  275. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +4 -3
  276. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -1
  277. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +7 -2
  278. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -1
  279. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +1 -4
  280. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -1
  281. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +148 -239
  282. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js +1 -5
  283. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -1
  284. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +4 -0
  285. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +18 -6
  286. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +1 -16
  287. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +17 -16
  288. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -1
  289. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +55 -38
  290. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js +3 -9
  291. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js +1 -63
  292. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +515 -398
  293. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -1
  294. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +122 -112
  295. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +16 -14
  296. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -1
  297. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +1364 -1139
  298. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +44 -11
  299. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +18 -18
  300. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +15 -14
  301. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js +1 -74
  302. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +11 -11
  303. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +12 -9
  304. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +54 -53
  305. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/js/template.js +1 -1
  306. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js +1 -15
  307. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -1
  308. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +1 -1
  309. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -1
  310. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +36 -20
  311. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +6 -5
  312. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +6 -5
  313. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +6 -5
  314. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +5 -4
  315. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +9 -8
  316. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -1
  317. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +6 -6
  318. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +11 -10
  319. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +1 -16
  320. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +2 -12
  321. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +3 -5
  322. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +4 -13
  323. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +1 -32
  324. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +3 -5
  325. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +5 -5
  326. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +39 -40
  327. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +10 -9
  328. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -1
  329. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +195 -54
  330. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +51 -51
  331. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  332. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
  333. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  334. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  335. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/pagebreak → themes/advanced}/img/pagebreak.gif +0 -0
  336. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  337. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/realmedia.gif +0 -0
  338. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  339. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/trans.gif +0 -0
  340. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/video.gif +0 -0
  341. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/{plugins/media → themes/advanced}/img/windowsmedia.gif +0 -0
  342. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js +1 -0
  343. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +5 -0
  344. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +26 -6
  345. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js +108 -32
  346. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +12 -6
  347. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +4 -7
  348. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js +6 -12
  349. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js +1 -62
  350. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js +1 -51
  351. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +27 -28
  352. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/shortcuts.htm +47 -0
  353. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +14 -1
  354. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  355. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  356. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  357. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +5 -4
  358. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +24 -0
  359. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +105 -0
  360. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +102 -0
  361. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +12 -0
  362. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +1 -0
  363. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  364. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  365. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  366. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +8 -6
  367. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +1 -1
  368. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +1 -1
  369. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +3 -3
  370. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js +1 -1
  371. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +1 -2
  372. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  373. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js +1 -11
  374. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -1
  375. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +1 -1
  376. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +7838 -5579
  377. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +1 -1
  378. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +14 -4
  379. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +95 -10
  380. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +35 -3
  381. data/public/skyline/javascripts/src/skyline/src/drag.js +10 -7
  382. data/public/skyline/javascripts/src/skyline/src/layout.js +13 -12
  383. data/public/skyline/javascripts/src/skyline/src/menubutton.js +1 -3
  384. data/public/skyline/javascripts/src/skyline/src/sortable.js +7 -5
  385. data/public/skyline/javascripts/src/skyline/src/tree.js +8 -4
  386. data/public/skyline/javascripts/src/skyline/test/sortable.html +73 -12
  387. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +485 -2
  388. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +130 -81
  389. data/public/skyline/stylesheets/general.css +23 -6
  390. data/skylinecms.gemspec +45 -0
  391. data/test/mocks/test_article.rb +11 -0
  392. data/test/mocks/test_section.rb +1 -1
  393. data/test/test_helper.rb +2 -1
  394. data/test/unit/article_test.rb +142 -0
  395. data/test/unit/inline_ref_test.rb +38 -16
  396. data/test/unit/test_content_object_test.rb +2 -1
  397. data/vendor/digitpaint/nested_attributes_positioning.rb +1 -1
  398. metadata +207 -487
  399. data/app/helpers/skyline/media_files_helper.rb +0 -7
  400. data/config/initializers/javascript_generator_methods.rb +0 -4
  401. data/config/initializers/rails_defaults.rb +0 -6
  402. data/doc/Bundler.md +0 -76
  403. data/lib/skyline/plugins_manager.rb +0 -150
  404. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +0 -84
  405. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css +0 -6
  406. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  407. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  408. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  409. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  410. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css +0 -1
  411. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  412. data/rails/init.rb +0 -32
  413. data/vendor/digitpaint/personify/README.md +0 -86
  414. data/vendor/digitpaint/personify/lib/parser/personify.rb +0 -838
  415. data/vendor/digitpaint/personify/lib/parser/personify.treetop +0 -126
  416. data/vendor/digitpaint/personify/lib/parser/personify_node_classes.rb +0 -7
  417. data/vendor/digitpaint/personify/lib/template.rb +0 -16
  418. data/vendor/digitpaint/personify/personify.rb +0 -7
  419. data/vendor/digitpaint/personify/script/generate_parser.rb +0 -6
  420. data/vendor/digitpaint/personify/test/fixtures/multiple_tags.txt +0 -8
  421. data/vendor/digitpaint/personify/test/parse_runner.rb +0 -25
  422. data/vendor/digitpaint/personify/test/parser_test.rb +0 -109
  423. data/vendor/digitpaint/personify/test/test_helper.rb +0 -16
  424. data/vendor/digitpaint/personify/vendor/treetop/.gitignore +0 -5
  425. data/vendor/digitpaint/personify/vendor/treetop/History.txt +0 -9
  426. data/vendor/digitpaint/personify/vendor/treetop/README +0 -164
  427. data/vendor/digitpaint/personify/vendor/treetop/Rakefile +0 -20
  428. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet +0 -20
  429. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet +0 -18
  430. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +0 -251
  431. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/info.plist +0 -10
  432. data/vendor/digitpaint/personify/vendor/treetop/bin/tt +0 -28
  433. data/vendor/digitpaint/personify/vendor/treetop/doc/contributing_and_planned_features.markdown +0 -103
  434. data/vendor/digitpaint/personify/vendor/treetop/doc/grammar_composition.markdown +0 -65
  435. data/vendor/digitpaint/personify/vendor/treetop/doc/index.markdown +0 -90
  436. data/vendor/digitpaint/personify/vendor/treetop/doc/pitfalls_and_advanced_techniques.markdown +0 -51
  437. data/vendor/digitpaint/personify/vendor/treetop/doc/semantic_interpretation.markdown +0 -189
  438. data/vendor/digitpaint/personify/vendor/treetop/doc/site.rb +0 -110
  439. data/vendor/digitpaint/personify/vendor/treetop/doc/sitegen.rb +0 -60
  440. data/vendor/digitpaint/personify/vendor/treetop/doc/syntactic_recognition.markdown +0 -100
  441. data/vendor/digitpaint/personify/vendor/treetop/doc/using_in_ruby.markdown +0 -21
  442. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.rb +0 -551
  443. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.treetop +0 -97
  444. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_node_classes.rb +0 -7
  445. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_test.rb +0 -54
  446. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus +0 -0
  447. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.rb +0 -718
  448. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.treetop +0 -132
  449. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_node_classes.rb +0 -5
  450. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_test.rb +0 -89
  451. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/test_helper.rb +0 -18
  452. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop.rb +0 -11
  453. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/bootstrap_gen_1_metagrammar.rb +0 -45
  454. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler.rb +0 -6
  455. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/grammar_compiler.rb +0 -40
  456. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/lexical_address_space.rb +0 -17
  457. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.rb +0 -2955
  458. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.treetop +0 -404
  459. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes.rb +0 -19
  460. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/anything_symbol.rb +0 -20
  461. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/atomic_expression.rb +0 -14
  462. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/character_class.rb +0 -22
  463. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/choice.rb +0 -31
  464. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/declaration_sequence.rb +0 -24
  465. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb +0 -28
  466. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/inline_module.rb +0 -27
  467. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/nonterminal.rb +0 -13
  468. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/optional.rb +0 -19
  469. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parenthesized_expression.rb +0 -9
  470. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_expression.rb +0 -138
  471. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_rule.rb +0 -55
  472. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/predicate.rb +0 -45
  473. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/repetition.rb +0 -55
  474. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/sequence.rb +0 -68
  475. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb +0 -20
  476. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/transient_prefix.rb +0 -9
  477. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/treetop_file.rb +0 -9
  478. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/ruby_builder.rb +0 -113
  479. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions.rb +0 -2
  480. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions/string.rb +0 -42
  481. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime.rb +0 -5
  482. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/compiled_parser.rb +0 -95
  483. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list.rb +0 -4
  484. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/head_node.rb +0 -15
  485. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +0 -200
  486. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/node.rb +0 -164
  487. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/syntax_node.rb +0 -72
  488. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_parse_failure.rb +0 -16
  489. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_syntax_node.rb +0 -17
  490. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/version.rb +0 -9
  491. data/vendor/digitpaint/personify/vendor/treetop/script/generate_metagrammar.rb +0 -14
  492. data/vendor/digitpaint/personify/vendor/treetop/script/svnadd +0 -11
  493. data/vendor/digitpaint/personify/vendor/treetop/script/svnrm +0 -11
  494. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/and_predicate_spec.rb +0 -36
  495. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/anything_symbol_spec.rb +0 -52
  496. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/character_class_spec.rb +0 -188
  497. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/choice_spec.rb +0 -80
  498. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/circular_compilation_spec.rb +0 -28
  499. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/failure_propagation_functional_spec.rb +0 -21
  500. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_compiler_spec.rb +0 -84
  501. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_spec.rb +0 -41
  502. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/nonterminal_symbol_spec.rb +0 -40
  503. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/not_predicate_spec.rb +0 -38
  504. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/one_or_more_spec.rb +0 -35
  505. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/optional_spec.rb +0 -37
  506. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parenthesized_expression_spec.rb +0 -19
  507. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parsing_rule_spec.rb +0 -32
  508. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/sequence_spec.rb +0 -115
  509. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_spec.rb +0 -81
  510. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_symbol_spec.rb +0 -37
  511. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.treetop +0 -7
  512. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.tt +0 -7
  513. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar_do.treetop +0 -7
  514. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/zero_or_more_spec.rb +0 -56
  515. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/a.treetop +0 -11
  516. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/b.treetop +0 -11
  517. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/c.treetop +0 -10
  518. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/d.treetop +0 -10
  519. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/grammar_composition_spec.rb +0 -26
  520. data/vendor/digitpaint/personify/vendor/treetop/spec/ruby_extensions/string_spec.rb +0 -32
  521. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/compiled_parser_spec.rb +0 -101
  522. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/delete_spec.rb +0 -147
  523. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/expire_range_spec.rb +0 -349
  524. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_and_delete_node.rb +0 -385
  525. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_spec.rb +0 -660
  526. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +0 -6175
  527. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +0 -58
  528. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture.rb +0 -23
  529. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +0 -164
  530. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/spec_helper.rb +0 -84
  531. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/syntax_node_spec.rb +0 -53
  532. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_helper.rb +0 -106
  533. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_suite.rb +0 -4
  534. data/vendor/digitpaint/personify/vendor/treetop/treetop.gemspec +0 -18
  535. data/vendor/mootools-on-rails/README +0 -54
  536. data/vendor/mootools-on-rails/Rakefile +0 -22
  537. data/vendor/mootools-on-rails/lib/mootools_on_rails.rb +0 -30
  538. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +0 -510
  539. data/vendor/mootools-on-rails/test/mootools_helper_test.rb +0 -138
  540. data/vendor/mootools-on-rails/test/test_helper.rb +0 -5
@@ -1,97 +0,0 @@
1
- grammar Arithmetic
2
- rule expression
3
- comparative / additive
4
- end
5
-
6
- rule comparative
7
- operand_1:additive space operator:equality_op space operand_2:additive <BinaryOperation>
8
- end
9
-
10
- rule equality_op
11
- '==' {
12
- def apply(a, b)
13
- a == b
14
- end
15
- }
16
- end
17
-
18
- rule additive
19
- operand_1:multitive
20
- space operator:additive_op space
21
- operand_2:additive <BinaryOperation>
22
- /
23
- multitive
24
- end
25
-
26
- rule additive_op
27
- '+' {
28
- def apply(a, b)
29
- a + b
30
- end
31
- }
32
- /
33
- '-' {
34
- def apply(a, b)
35
- a - b
36
- end
37
- }
38
- end
39
-
40
- rule multitive
41
- operand_1:primary
42
- space operator:multitive_op space
43
- operand_2:multitive <BinaryOperation>
44
- /
45
- primary
46
- end
47
-
48
- rule multitive_op
49
- '*' {
50
- def apply(a, b)
51
- a * b
52
- end
53
- }
54
- /
55
- '/' {
56
- def apply(a, b)
57
- a / b
58
- end
59
- }
60
- end
61
-
62
- rule primary
63
- variable
64
- /
65
- number
66
- /
67
- '(' space expression space ')' {
68
- def eval(env={})
69
- expression.eval(env)
70
- end
71
- }
72
- end
73
-
74
- rule variable
75
- [a-z]+ {
76
- def eval(env={})
77
- env[name]
78
- end
79
-
80
- def name
81
- text_value
82
- end
83
- }
84
- end
85
-
86
- rule number
87
- ([1-9] [0-9]* / '0') {
88
- def eval(env={})
89
- text_value.to_i
90
- end
91
- }
92
- end
93
-
94
- rule space
95
- ' '*
96
- end
97
- end
@@ -1,7 +0,0 @@
1
- module Arithmetic
2
- class BinaryOperation < Treetop::Runtime::SyntaxNode
3
- def eval(env={})
4
- operator.apply(operand_1.eval(env), operand_2.eval(env))
5
- end
6
- end
7
- end
@@ -1,54 +0,0 @@
1
- dir = File.dirname(__FILE__)
2
- require File.expand_path("#{dir}/test_helper")
3
-
4
- require File.expand_path("#{dir}/arithmetic_node_classes")
5
- Treetop.load File.expand_path("#{dir}/arithmetic")
6
-
7
- class ArithmeticParserTest < Test::Unit::TestCase
8
- include ParserTestHelper
9
-
10
- def setup
11
- @parser = ArithmeticParser.new
12
- end
13
-
14
- def test_number
15
- assert_equal 0, parse('0').eval
16
- assert_equal 1, parse('1').eval
17
- assert_equal 123, parse('123').eval
18
- end
19
-
20
- def test_variable
21
- assert_equal 0, parse('x').eval('x' => 0)
22
- assert_equal 3, parse('x').eval('x' => 3)
23
- assert_equal 10, parse('y').eval('y' => 10)
24
- end
25
-
26
- def test_addition
27
- assert_equal 10, parse('x + 5').eval('x' => 5)
28
- end
29
-
30
- def test_subtraction
31
- assert_equal 0, parse('x - 5').eval('x' => 5)
32
- end
33
-
34
- def test_multiplication
35
- assert_equal 6, parse('x * 2').eval('x' => 3)
36
- end
37
-
38
- def test_division
39
- assert_equal 3, parse('x / 2').eval('x' => 6)
40
- end
41
-
42
- def test_order_of_operations
43
- assert_equal 11, parse('1 + 2 * 3 + 4').eval
44
- end
45
-
46
- def test_parentheses
47
- assert_equal 25, parse('(5 + x) * (10 - y)').eval('x' => 0, 'y' => 5)
48
- end
49
-
50
- def test_equality
51
- assert parse('4 == 4').eval
52
- assert !parse('4 == 3').eval
53
- end
54
- end
@@ -1,718 +0,0 @@
1
- module LambdaCalculus
2
- include Treetop::Runtime
3
-
4
- def root
5
- @root || :program
6
- end
7
-
8
- include Arithmetic
9
-
10
- module Program0
11
- def space
12
- elements[1]
13
- end
14
-
15
- def expression
16
- elements[2]
17
- end
18
- end
19
-
20
- module Program1
21
- def expression
22
- elements[0]
23
- end
24
-
25
- def more_expressions
26
- elements[1]
27
- end
28
- end
29
-
30
- module Program2
31
- def eval(env={})
32
- env = env.clone
33
- last_eval = nil
34
- expressions.each do |exp|
35
- last_eval = exp.eval(env)
36
- end
37
- last_eval
38
- end
39
-
40
- def expressions
41
- [expression] + more_expressions.elements.map {|elt| elt.expression}
42
- end
43
- end
44
-
45
- def _nt_program
46
- start_index = index
47
- cached = node_cache[:program][index]
48
- if cached
49
- @index = cached.interval.end
50
- return cached
51
- end
52
-
53
- i0, s0 = index, []
54
- r1 = _nt_expression
55
- s0 << r1
56
- if r1.success?
57
- s2, i2 = [], index
58
- loop do
59
- i3, s3 = index, []
60
- r4 = parse_terminal(';', SyntaxNode)
61
- s3 << r4
62
- if r4.success?
63
- r5 = _nt_space
64
- s3 << r5
65
- if r5.success?
66
- r6 = _nt_expression
67
- s3 << r6
68
- end
69
- end
70
- if s3.last.success?
71
- r3 = (SyntaxNode).new(input, i3...index, s3)
72
- r3.extend(Program0)
73
- else
74
- self.index = i3
75
- r3 = ParseFailure.new(input, i3)
76
- end
77
- if r3.success?
78
- s2 << r3
79
- else
80
- break
81
- end
82
- end
83
- r2 = SyntaxNode.new(input, i2...index, s2)
84
- s0 << r2
85
- end
86
- if s0.last.success?
87
- r0 = (SyntaxNode).new(input, i0...index, s0)
88
- r0.extend(Program1)
89
- r0.extend(Program2)
90
- else
91
- self.index = i0
92
- r0 = ParseFailure.new(input, i0)
93
- end
94
-
95
- node_cache[:program][start_index] = r0
96
-
97
- return r0
98
- end
99
-
100
- def _nt_expression
101
- start_index = index
102
- cached = node_cache[:expression][index]
103
- if cached
104
- @index = cached.interval.end
105
- return cached
106
- end
107
-
108
- i0 = index
109
- r1 = _nt_definition
110
- if r1.success?
111
- r0 = r1
112
- else
113
- r2 = _nt_conditional
114
- if r2.success?
115
- r0 = r2
116
- else
117
- r3 = _nt_application
118
- if r3.success?
119
- r0 = r3
120
- else
121
- r4 = _nt_function
122
- if r4.success?
123
- r0 = r4
124
- else
125
- r5 = super
126
- if r5.success?
127
- r0 = r5
128
- else
129
- self.index = i0
130
- r0 = ParseFailure.new(input, i0)
131
- end
132
- end
133
- end
134
- end
135
- end
136
-
137
- node_cache[:expression][start_index] = r0
138
-
139
- return r0
140
- end
141
-
142
- module Definition0
143
- def space
144
- elements[1]
145
- end
146
-
147
- def variable
148
- elements[2]
149
- end
150
-
151
- def space
152
- elements[3]
153
- end
154
-
155
- def expression
156
- elements[4]
157
- end
158
- end
159
-
160
- module Definition1
161
- def eval(env)
162
- env[variable.name] = expression.eval(env)
163
- end
164
- end
165
-
166
- def _nt_definition
167
- start_index = index
168
- cached = node_cache[:definition][index]
169
- if cached
170
- @index = cached.interval.end
171
- return cached
172
- end
173
-
174
- i0, s0 = index, []
175
- r1 = parse_terminal('def', SyntaxNode)
176
- s0 << r1
177
- if r1.success?
178
- r2 = _nt_space
179
- s0 << r2
180
- if r2.success?
181
- r3 = _nt_variable
182
- s0 << r3
183
- if r3.success?
184
- r4 = _nt_space
185
- s0 << r4
186
- if r4.success?
187
- r5 = _nt_expression
188
- s0 << r5
189
- end
190
- end
191
- end
192
- end
193
- if s0.last.success?
194
- r0 = (SyntaxNode).new(input, i0...index, s0)
195
- r0.extend(Definition0)
196
- r0.extend(Definition1)
197
- else
198
- self.index = i0
199
- r0 = ParseFailure.new(input, i0)
200
- end
201
-
202
- node_cache[:definition][start_index] = r0
203
-
204
- return r0
205
- end
206
-
207
- module Conditional0
208
- def space
209
- elements[1]
210
- end
211
-
212
- def space
213
- elements[3]
214
- end
215
-
216
- def condition
217
- elements[4]
218
- end
219
-
220
- def space
221
- elements[5]
222
- end
223
-
224
- def space
225
- elements[7]
226
- end
227
-
228
- def true_case
229
- elements[8]
230
- end
231
-
232
- def space
233
- elements[9]
234
- end
235
-
236
- def space
237
- elements[11]
238
- end
239
-
240
- def false_case
241
- elements[12]
242
- end
243
- end
244
-
245
- module Conditional1
246
- def eval(env)
247
- if condition.eval(env)
248
- true_case.eval(env)
249
- else
250
- false_case.eval(env)
251
- end
252
- end
253
- end
254
-
255
- def _nt_conditional
256
- start_index = index
257
- cached = node_cache[:conditional][index]
258
- if cached
259
- @index = cached.interval.end
260
- return cached
261
- end
262
-
263
- i0, s0 = index, []
264
- r1 = parse_terminal('if', SyntaxNode)
265
- s0 << r1
266
- if r1.success?
267
- r2 = _nt_space
268
- s0 << r2
269
- if r2.success?
270
- r3 = parse_terminal('(', SyntaxNode)
271
- s0 << r3
272
- if r3.success?
273
- r4 = _nt_space
274
- s0 << r4
275
- if r4.success?
276
- r5 = _nt_expression
277
- s0 << r5
278
- if r5.success?
279
- r6 = _nt_space
280
- s0 << r6
281
- if r6.success?
282
- r7 = parse_terminal(')', SyntaxNode)
283
- s0 << r7
284
- if r7.success?
285
- r8 = _nt_space
286
- s0 << r8
287
- if r8.success?
288
- r9 = _nt_expression
289
- s0 << r9
290
- if r9.success?
291
- r10 = _nt_space
292
- s0 << r10
293
- if r10.success?
294
- r11 = parse_terminal('else', SyntaxNode)
295
- s0 << r11
296
- if r11.success?
297
- r12 = _nt_space
298
- s0 << r12
299
- if r12.success?
300
- r13 = _nt_expression
301
- s0 << r13
302
- end
303
- end
304
- end
305
- end
306
- end
307
- end
308
- end
309
- end
310
- end
311
- end
312
- end
313
- end
314
- if s0.last.success?
315
- r0 = (SyntaxNode).new(input, i0...index, s0)
316
- r0.extend(Conditional0)
317
- r0.extend(Conditional1)
318
- else
319
- self.index = i0
320
- r0 = ParseFailure.new(input, i0)
321
- end
322
-
323
- node_cache[:conditional][start_index] = r0
324
-
325
- return r0
326
- end
327
-
328
- def _nt_primary
329
- start_index = index
330
- cached = node_cache[:primary][index]
331
- if cached
332
- @index = cached.interval.end
333
- return cached
334
- end
335
-
336
- i0 = index
337
- r1 = _nt_application
338
- if r1.success?
339
- r0 = r1
340
- else
341
- r2 = super
342
- if r2.success?
343
- r0 = r2
344
- else
345
- self.index = i0
346
- r0 = ParseFailure.new(input, i0)
347
- end
348
- end
349
-
350
- node_cache[:primary][start_index] = r0
351
-
352
- return r0
353
- end
354
-
355
- module Application0
356
- def operator
357
- elements[0]
358
- end
359
-
360
- def space
361
- elements[1]
362
- end
363
-
364
- def expression
365
- elements[2]
366
- end
367
- end
368
-
369
- module Application1
370
- def eval(env={})
371
- left_associative_apply(operator.eval(env), env)
372
- end
373
-
374
- def left_associative_apply(operator, env)
375
- if expression.instance_of?(Application)
376
- expression.left_associative_apply(operator.apply(expression.operator.eval(env)), env)
377
- else
378
- operator.apply(expression.eval(env))
379
- end
380
- end
381
-
382
- def to_s(env={})
383
- operator.to_s(env) + ' ' + expression.to_s(env)
384
- end
385
- end
386
-
387
- def _nt_application
388
- start_index = index
389
- cached = node_cache[:application][index]
390
- if cached
391
- @index = cached.interval.end
392
- return cached
393
- end
394
-
395
- i0, s0 = index, []
396
- r1 = _nt_operator
397
- s0 << r1
398
- if r1.success?
399
- r2 = _nt_space
400
- s0 << r2
401
- if r2.success?
402
- r3 = _nt_expression
403
- s0 << r3
404
- end
405
- end
406
- if s0.last.success?
407
- r0 = (Application).new(input, i0...index, s0)
408
- r0.extend(Application0)
409
- r0.extend(Application1)
410
- else
411
- self.index = i0
412
- r0 = ParseFailure.new(input, i0)
413
- end
414
-
415
- node_cache[:application][start_index] = r0
416
-
417
- return r0
418
- end
419
-
420
- def _nt_operator
421
- start_index = index
422
- cached = node_cache[:operator][index]
423
- if cached
424
- @index = cached.interval.end
425
- return cached
426
- end
427
-
428
- i0 = index
429
- r1 = _nt_function
430
- if r1.success?
431
- r0 = r1
432
- else
433
- r2 = _nt_variable
434
- if r2.success?
435
- r0 = r2
436
- else
437
- self.index = i0
438
- r0 = ParseFailure.new(input, i0)
439
- end
440
- end
441
-
442
- node_cache[:operator][start_index] = r0
443
-
444
- return r0
445
- end
446
-
447
- def _nt_non_application
448
- start_index = index
449
- cached = node_cache[:non_application][index]
450
- if cached
451
- @index = cached.interval.end
452
- return cached
453
- end
454
-
455
- i0 = index
456
- r1 = _nt_function
457
- if r1.success?
458
- r0 = r1
459
- else
460
- r2 = _nt_variable
461
- if r2.success?
462
- r0 = r2
463
- else
464
- self.index = i0
465
- r0 = ParseFailure.new(input, i0)
466
- end
467
- end
468
-
469
- node_cache[:non_application][start_index] = r0
470
-
471
- return r0
472
- end
473
-
474
- module Function0
475
- def param
476
- elements[1]
477
- end
478
-
479
- def body
480
- elements[3]
481
- end
482
-
483
- end
484
-
485
- module Function1
486
- class Closure
487
- attr_reader :env, :function
488
-
489
- def initialize(function, env)
490
- @function = function
491
- @env = env
492
- end
493
-
494
- def apply(arg)
495
- function.body.eval(function.param.bind(arg, env))
496
- end
497
-
498
- def to_s(other_env={})
499
- "\\#{function.param.to_s}(#{function.body.to_s(other_env.merge(env))})"
500
- end
501
- end
502
-
503
- def eval(env={})
504
- Closure.new(self, env)
505
- end
506
-
507
- def to_s(env={})
508
- eval(env).to_s
509
- end
510
- end
511
-
512
- def _nt_function
513
- start_index = index
514
- cached = node_cache[:function][index]
515
- if cached
516
- @index = cached.interval.end
517
- return cached
518
- end
519
-
520
- i0, s0 = index, []
521
- r1 = parse_terminal('\\', SyntaxNode)
522
- s0 << r1
523
- if r1.success?
524
- r2 = _nt_variable
525
- s0 << r2
526
- if r2.success?
527
- r3 = parse_terminal('(', SyntaxNode)
528
- s0 << r3
529
- if r3.success?
530
- r4 = _nt_expression
531
- s0 << r4
532
- if r4.success?
533
- r5 = parse_terminal(')', SyntaxNode)
534
- s0 << r5
535
- end
536
- end
537
- end
538
- end
539
- if s0.last.success?
540
- r0 = (SyntaxNode).new(input, i0...index, s0)
541
- r0.extend(Function0)
542
- r0.extend(Function1)
543
- else
544
- self.index = i0
545
- r0 = ParseFailure.new(input, i0)
546
- end
547
-
548
- node_cache[:function][start_index] = r0
549
-
550
- return r0
551
- end
552
-
553
- module Variable0
554
- def bind(value, env)
555
- env.merge(name => value)
556
- end
557
-
558
- def to_s(env={})
559
- env.has_key?(name) ? env[name].to_s : name
560
- end
561
- end
562
-
563
- module Variable1
564
- end
565
-
566
- def _nt_variable
567
- start_index = index
568
- cached = node_cache[:variable][index]
569
- if cached
570
- @index = cached.interval.end
571
- return cached
572
- end
573
-
574
- i0, s0 = index, []
575
- i1 = index
576
- r2 = _nt_keyword
577
- if r2.success?
578
- r1 = ParseFailure.new(input, i1)
579
- else
580
- self.index = i1
581
- r1 = SyntaxNode.new(input, index...index)
582
- end
583
- s0 << r1
584
- if r1.success?
585
- r3 = super
586
- r3.extend(Variable0)
587
- s0 << r3
588
- end
589
- if s0.last.success?
590
- r0 = (SyntaxNode).new(input, i0...index, s0)
591
- r0.extend(Variable1)
592
- else
593
- self.index = i0
594
- r0 = ParseFailure.new(input, i0)
595
- end
596
-
597
- node_cache[:variable][start_index] = r0
598
-
599
- return r0
600
- end
601
-
602
- module Keyword0
603
- end
604
-
605
- def _nt_keyword
606
- start_index = index
607
- cached = node_cache[:keyword][index]
608
- if cached
609
- @index = cached.interval.end
610
- return cached
611
- end
612
-
613
- i0, s0 = index, []
614
- i1 = index
615
- r2 = parse_terminal('if', SyntaxNode)
616
- if r2.success?
617
- r1 = r2
618
- else
619
- r3 = parse_terminal('else', SyntaxNode)
620
- if r3.success?
621
- r1 = r3
622
- else
623
- self.index = i1
624
- r1 = ParseFailure.new(input, i1)
625
- end
626
- end
627
- s0 << r1
628
- if r1.success?
629
- i4 = index
630
- r5 = _nt_non_space_char
631
- if r5.success?
632
- r4 = ParseFailure.new(input, i4)
633
- else
634
- self.index = i4
635
- r4 = SyntaxNode.new(input, index...index)
636
- end
637
- s0 << r4
638
- end
639
- if s0.last.success?
640
- r0 = (SyntaxNode).new(input, i0...index, s0)
641
- r0.extend(Keyword0)
642
- else
643
- self.index = i0
644
- r0 = ParseFailure.new(input, i0)
645
- end
646
-
647
- node_cache[:keyword][start_index] = r0
648
-
649
- return r0
650
- end
651
-
652
- module NonSpaceChar0
653
- end
654
-
655
- def _nt_non_space_char
656
- start_index = index
657
- cached = node_cache[:non_space_char][index]
658
- if cached
659
- @index = cached.interval.end
660
- return cached
661
- end
662
-
663
- i0, s0 = index, []
664
- i1 = index
665
- r2 = parse_char_class(/[ \n]/, ' \n', SyntaxNode)
666
- if r2.success?
667
- r1 = ParseFailure.new(input, i1)
668
- else
669
- self.index = i1
670
- r1 = SyntaxNode.new(input, index...index)
671
- end
672
- s0 << r1
673
- if r1.success?
674
- r3 = parse_anything(SyntaxNode)
675
- s0 << r3
676
- end
677
- if s0.last.success?
678
- r0 = (SyntaxNode).new(input, i0...index, s0)
679
- r0.extend(NonSpaceChar0)
680
- else
681
- self.index = i0
682
- r0 = ParseFailure.new(input, i0)
683
- end
684
-
685
- node_cache[:non_space_char][start_index] = r0
686
-
687
- return r0
688
- end
689
-
690
- def _nt_space
691
- start_index = index
692
- cached = node_cache[:space][index]
693
- if cached
694
- @index = cached.interval.end
695
- return cached
696
- end
697
-
698
- s0, i0 = [], index
699
- loop do
700
- r1 = parse_char_class(/[ \n]/, ' \n', SyntaxNode)
701
- if r1.success?
702
- s0 << r1
703
- else
704
- break
705
- end
706
- end
707
- r0 = SyntaxNode.new(input, i0...index, s0)
708
-
709
- node_cache[:space][start_index] = r0
710
-
711
- return r0
712
- end
713
-
714
- end
715
-
716
- class LambdaCalculusParser < Treetop::Runtime::CompiledParser
717
- include LambdaCalculus
718
- end