marty 0.5.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (345) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +84 -0
  4. data/Rakefile +29 -0
  5. data/app/assets/javascripts/marty/application.js +15 -0
  6. data/app/assets/stylesheets/marty/application.css +13 -0
  7. data/app/components/marty/api_auth_view.rb +32 -0
  8. data/app/components/marty/auth_app.rb +55 -0
  9. data/app/components/marty/auth_app.rb~ +51 -0
  10. data/app/components/marty/auth_app/javascripts/auth_app.js +91 -0
  11. data/app/components/marty/auth_app/javascripts/auth_app.js~ +91 -0
  12. data/app/components/marty/cm_form_panel.rb~ +5 -0
  13. data/app/components/marty/cm_grid_panel.rb~ +35 -0
  14. data/app/components/marty/data_import_view.rb~ +142 -0
  15. data/app/components/marty/extras/layout.rb +46 -0
  16. data/app/components/marty/extras/layout.rb~ +46 -0
  17. data/app/components/marty/extras/misc.rb +18 -0
  18. data/app/components/marty/form.rb +6 -0
  19. data/app/components/marty/grid.rb +45 -0
  20. data/app/components/marty/grid_append_only.rb +12 -0
  21. data/app/components/marty/import_type_view.rb +53 -0
  22. data/app/components/marty/live_search_grid_panel.rb +46 -0
  23. data/app/components/marty/live_search_grid_panel.rb~ +49 -0
  24. data/app/components/marty/main_auth_app.rb +269 -0
  25. data/app/components/marty/main_auth_app.rb~ +238 -0
  26. data/app/components/marty/mcfly_grid_panel.rb +62 -0
  27. data/app/components/marty/mcfly_grid_panel.rb~ +80 -0
  28. data/app/components/marty/new_posting_form.rb +46 -0
  29. data/app/components/marty/new_posting_form.rb~ +46 -0
  30. data/app/components/marty/new_posting_window.rb +21 -0
  31. data/app/components/marty/new_posting_window.rb~ +21 -0
  32. data/app/components/marty/panel.rb +12 -0
  33. data/app/components/marty/pivot_grid.rb +52 -0
  34. data/app/components/marty/pivot_grid/endpoints.rb +45 -0
  35. data/app/components/marty/pivot_grid/javascripts/extensions.js +150 -0
  36. data/app/components/marty/pivot_grid/javascripts/pivot_grid.js +86 -0
  37. data/app/components/marty/pivot_grid/services.rb +44 -0
  38. data/app/components/marty/posting_grid.rb +139 -0
  39. data/app/components/marty/posting_grid.rb~ +140 -0
  40. data/app/components/marty/posting_window.rb +27 -0
  41. data/app/components/marty/promise_view.rb +177 -0
  42. data/app/components/marty/promise_view.rb~ +157 -0
  43. data/app/components/marty/promise_view/stylesheets/promise_view.css +26 -0
  44. data/app/components/marty/promise_view/stylesheets/promise_view.css~ +15 -0
  45. data/app/components/marty/report_form.rb +225 -0
  46. data/app/components/marty/report_form.rb~ +217 -0
  47. data/app/components/marty/report_select.rb +145 -0
  48. data/app/components/marty/report_select.rb~ +133 -0
  49. data/app/components/marty/reporting.rb +39 -0
  50. data/app/components/marty/reporting.rb~ +39 -0
  51. data/app/components/marty/script_detail.rb~ +430 -0
  52. data/app/components/marty/script_form.rb +233 -0
  53. data/app/components/marty/script_form.rb~ +233 -0
  54. data/app/components/marty/script_form/javascripts/Ext.ux.form.field.CodeMirror.js +698 -0
  55. data/app/components/marty/script_form/javascripts/Ext.ux.form.field.CodeMirror.js~ +909 -0
  56. data/app/components/marty/script_form/javascripts/codemirror.js +3130 -0
  57. data/app/components/marty/script_form/javascripts/mode/clike/clike.js +284 -0
  58. data/app/components/marty/script_form/javascripts/mode/clike/index.html +102 -0
  59. data/app/components/marty/script_form/javascripts/mode/clike/scala.html +766 -0
  60. data/app/components/marty/script_form/javascripts/mode/clojure/clojure.js +206 -0
  61. data/app/components/marty/script_form/javascripts/mode/clojure/index.html +67 -0
  62. data/app/components/marty/script_form/javascripts/mode/coffeescript/LICENSE +22 -0
  63. data/app/components/marty/script_form/javascripts/mode/coffeescript/coffeescript.js +346 -0
  64. data/app/components/marty/script_form/javascripts/mode/coffeescript/index.html +728 -0
  65. data/app/components/marty/script_form/javascripts/mode/commonlisp/commonlisp.js +101 -0
  66. data/app/components/marty/script_form/javascripts/mode/commonlisp/index.html +165 -0
  67. data/app/components/marty/script_form/javascripts/mode/css/css.js +448 -0
  68. data/app/components/marty/script_form/javascripts/mode/css/index.html +58 -0
  69. data/app/components/marty/script_form/javascripts/mode/css/test.js +501 -0
  70. data/app/components/marty/script_form/javascripts/mode/delorean/delorean.js +189 -0
  71. data/app/components/marty/script_form/javascripts/mode/diff/diff.js +32 -0
  72. data/app/components/marty/script_form/javascripts/mode/diff/index.html +105 -0
  73. data/app/components/marty/script_form/javascripts/mode/ecl/ecl.js +203 -0
  74. data/app/components/marty/script_form/javascripts/mode/ecl/index.html +42 -0
  75. data/app/components/marty/script_form/javascripts/mode/erlang/erlang.js +463 -0
  76. data/app/components/marty/script_form/javascripts/mode/erlang/index.html +63 -0
  77. data/app/components/marty/script_form/javascripts/mode/gfm/gfm.js +150 -0
  78. data/app/components/marty/script_form/javascripts/mode/gfm/index.html +48 -0
  79. data/app/components/marty/script_form/javascripts/mode/go/go.js +170 -0
  80. data/app/components/marty/script_form/javascripts/mode/go/index.html +73 -0
  81. data/app/components/marty/script_form/javascripts/mode/groovy/groovy.js +210 -0
  82. data/app/components/marty/script_form/javascripts/mode/groovy/index.html +72 -0
  83. data/app/components/marty/script_form/javascripts/mode/haskell/haskell.js +242 -0
  84. data/app/components/marty/script_form/javascripts/mode/haskell/index.html +61 -0
  85. data/app/components/marty/script_form/javascripts/mode/haxe/haxe.js +429 -0
  86. data/app/components/marty/script_form/javascripts/mode/haxe/index.html +91 -0
  87. data/app/components/marty/script_form/javascripts/mode/htmlembedded/htmlembedded.js +72 -0
  88. data/app/components/marty/script_form/javascripts/mode/htmlembedded/index.html +50 -0
  89. data/app/components/marty/script_form/javascripts/mode/htmlmixed/htmlmixed.js +84 -0
  90. data/app/components/marty/script_form/javascripts/mode/htmlmixed/index.html +52 -0
  91. data/app/components/marty/script_form/javascripts/mode/javascript/index.html +78 -0
  92. data/app/components/marty/script_form/javascripts/mode/javascript/javascript.js +361 -0
  93. data/app/components/marty/script_form/javascripts/mode/jinja2/index.html +38 -0
  94. data/app/components/marty/script_form/javascripts/mode/jinja2/jinja2.js +42 -0
  95. data/app/components/marty/script_form/javascripts/mode/less/index.html +740 -0
  96. data/app/components/marty/script_form/javascripts/mode/less/less.js +266 -0
  97. data/app/components/marty/script_form/javascripts/mode/lua/index.html +73 -0
  98. data/app/components/marty/script_form/javascripts/mode/lua/lua.js +140 -0
  99. data/app/components/marty/script_form/javascripts/mode/markdown/index.html +343 -0
  100. data/app/components/marty/script_form/javascripts/mode/markdown/markdown.js +382 -0
  101. data/app/components/marty/script_form/javascripts/mode/markdown/test.js +1084 -0
  102. data/app/components/marty/script_form/javascripts/mode/mysql/index.html +42 -0
  103. data/app/components/marty/script_form/javascripts/mode/mysql/mysql.js +186 -0
  104. data/app/components/marty/script_form/javascripts/mode/ntriples/index.html +33 -0
  105. data/app/components/marty/script_form/javascripts/mode/ntriples/ntriples.js +172 -0
  106. data/app/components/marty/script_form/javascripts/mode/ocaml/index.html +130 -0
  107. data/app/components/marty/script_form/javascripts/mode/ocaml/ocaml.js +114 -0
  108. data/app/components/marty/script_form/javascripts/mode/pascal/LICENSE +7 -0
  109. data/app/components/marty/script_form/javascripts/mode/pascal/index.html +49 -0
  110. data/app/components/marty/script_form/javascripts/mode/pascal/pascal.js +94 -0
  111. data/app/components/marty/script_form/javascripts/mode/perl/LICENSE +19 -0
  112. data/app/components/marty/script_form/javascripts/mode/perl/index.html +63 -0
  113. data/app/components/marty/script_form/javascripts/mode/perl/perl.js +816 -0
  114. data/app/components/marty/script_form/javascripts/mode/php/index.html +49 -0
  115. data/app/components/marty/script_form/javascripts/mode/php/php.js +148 -0
  116. data/app/components/marty/script_form/javascripts/mode/pig/index.html +43 -0
  117. data/app/components/marty/script_form/javascripts/mode/pig/pig.js +172 -0
  118. data/app/components/marty/script_form/javascripts/mode/plsql/index.html +63 -0
  119. data/app/components/marty/script_form/javascripts/mode/plsql/plsql.js +217 -0
  120. data/app/components/marty/script_form/javascripts/mode/properties/index.html +41 -0
  121. data/app/components/marty/script_form/javascripts/mode/properties/properties.js +63 -0
  122. data/app/components/marty/script_form/javascripts/mode/python/LICENSE.txt +21 -0
  123. data/app/components/marty/script_form/javascripts/mode/python/index.html +123 -0
  124. data/app/components/marty/script_form/javascripts/mode/python/python.js +338 -0
  125. data/app/components/marty/script_form/javascripts/mode/r/LICENSE +24 -0
  126. data/app/components/marty/script_form/javascripts/mode/r/index.html +74 -0
  127. data/app/components/marty/script_form/javascripts/mode/r/r.js +141 -0
  128. data/app/components/marty/script_form/javascripts/mode/rpm/changes/changes.js +19 -0
  129. data/app/components/marty/script_form/javascripts/mode/rpm/changes/index.html +54 -0
  130. data/app/components/marty/script_form/javascripts/mode/rpm/spec/index.html +100 -0
  131. data/app/components/marty/script_form/javascripts/mode/rpm/spec/spec.css +5 -0
  132. data/app/components/marty/script_form/javascripts/mode/rpm/spec/spec.js +66 -0
  133. data/app/components/marty/script_form/javascripts/mode/rst/index.html +526 -0
  134. data/app/components/marty/script_form/javascripts/mode/rst/rst.js +326 -0
  135. data/app/components/marty/script_form/javascripts/mode/ruby/LICENSE +24 -0
  136. data/app/components/marty/script_form/javascripts/mode/ruby/index.html +172 -0
  137. data/app/components/marty/script_form/javascripts/mode/ruby/ruby.js +195 -0
  138. data/app/components/marty/script_form/javascripts/mode/rust/index.html +49 -0
  139. data/app/components/marty/script_form/javascripts/mode/rust/rust.js +432 -0
  140. data/app/components/marty/script_form/javascripts/mode/scheme/index.html +65 -0
  141. data/app/components/marty/script_form/javascripts/mode/scheme/scheme.js +230 -0
  142. data/app/components/marty/script_form/javascripts/mode/shell/index.html +50 -0
  143. data/app/components/marty/script_form/javascripts/mode/shell/shell.js +118 -0
  144. data/app/components/marty/script_form/javascripts/mode/sieve/LICENSE +23 -0
  145. data/app/components/marty/script_form/javascripts/mode/sieve/index.html +81 -0
  146. data/app/components/marty/script_form/javascripts/mode/sieve/sieve.js +156 -0
  147. data/app/components/marty/script_form/javascripts/mode/smalltalk/index.html +56 -0
  148. data/app/components/marty/script_form/javascripts/mode/smalltalk/smalltalk.js +139 -0
  149. data/app/components/marty/script_form/javascripts/mode/smarty/index.html +83 -0
  150. data/app/components/marty/script_form/javascripts/mode/smarty/smarty.js +148 -0
  151. data/app/components/marty/script_form/javascripts/mode/sparql/index.html +41 -0
  152. data/app/components/marty/script_form/javascripts/mode/sparql/sparql.js +143 -0
  153. data/app/components/marty/script_form/javascripts/mode/stex/index.html +98 -0
  154. data/app/components/marty/script_form/javascripts/mode/stex/stex.js +182 -0
  155. data/app/components/marty/script_form/javascripts/mode/stex/test.js +343 -0
  156. data/app/components/marty/script_form/javascripts/mode/tiddlywiki/index.html +141 -0
  157. data/app/components/marty/script_form/javascripts/mode/tiddlywiki/tiddlywiki.css +14 -0
  158. data/app/components/marty/script_form/javascripts/mode/tiddlywiki/tiddlywiki.js +384 -0
  159. data/app/components/marty/script_form/javascripts/mode/tiki/index.html +83 -0
  160. data/app/components/marty/script_form/javascripts/mode/tiki/tiki.css +26 -0
  161. data/app/components/marty/script_form/javascripts/mode/tiki/tiki.js +309 -0
  162. data/app/components/marty/script_form/javascripts/mode/vb/LICENSE.txt +21 -0
  163. data/app/components/marty/script_form/javascripts/mode/vb/index.html +89 -0
  164. data/app/components/marty/script_form/javascripts/mode/vb/vb.js +260 -0
  165. data/app/components/marty/script_form/javascripts/mode/vbscript/index.html +43 -0
  166. data/app/components/marty/script_form/javascripts/mode/vbscript/vbscript.js +26 -0
  167. data/app/components/marty/script_form/javascripts/mode/velocity/index.html +104 -0
  168. data/app/components/marty/script_form/javascripts/mode/velocity/velocity.js +146 -0
  169. data/app/components/marty/script_form/javascripts/mode/verilog/index.html +211 -0
  170. data/app/components/marty/script_form/javascripts/mode/verilog/verilog.js +194 -0
  171. data/app/components/marty/script_form/javascripts/mode/xml/index.html +45 -0
  172. data/app/components/marty/script_form/javascripts/mode/xml/xml.js +318 -0
  173. data/app/components/marty/script_form/javascripts/mode/xquery/LICENSE +20 -0
  174. data/app/components/marty/script_form/javascripts/mode/xquery/index.html +223 -0
  175. data/app/components/marty/script_form/javascripts/mode/xquery/test/index.html +27 -0
  176. data/app/components/marty/script_form/javascripts/mode/xquery/test/testBase.js +42 -0
  177. data/app/components/marty/script_form/javascripts/mode/xquery/test/testEmptySequenceKeyword.js +16 -0
  178. data/app/components/marty/script_form/javascripts/mode/xquery/test/testMultiAttr.js +16 -0
  179. data/app/components/marty/script_form/javascripts/mode/xquery/test/testNamespaces.js +91 -0
  180. data/app/components/marty/script_form/javascripts/mode/xquery/test/testProcessingInstructions.js +16 -0
  181. data/app/components/marty/script_form/javascripts/mode/xquery/test/testQuotes.js +19 -0
  182. data/app/components/marty/script_form/javascripts/mode/xquery/xquery.js +451 -0
  183. data/app/components/marty/script_form/javascripts/mode/yaml/index.html +68 -0
  184. data/app/components/marty/script_form/javascripts/mode/yaml/yaml.js +95 -0
  185. data/app/components/marty/script_form/javascripts/util/closetag.js +164 -0
  186. data/app/components/marty/script_form/javascripts/util/dialog.css +27 -0
  187. data/app/components/marty/script_form/javascripts/util/dialog.js +70 -0
  188. data/app/components/marty/script_form/javascripts/util/foldcode.js +196 -0
  189. data/app/components/marty/script_form/javascripts/util/formatting.js +193 -0
  190. data/app/components/marty/script_form/javascripts/util/javascript-hint.js +134 -0
  191. data/app/components/marty/script_form/javascripts/util/loadmode.js +51 -0
  192. data/app/components/marty/script_form/javascripts/util/match-highlighter.js +44 -0
  193. data/app/components/marty/script_form/javascripts/util/multiplex.js +77 -0
  194. data/app/components/marty/script_form/javascripts/util/overlay.js +54 -0
  195. data/app/components/marty/script_form/javascripts/util/pig-hint.js +123 -0
  196. data/app/components/marty/script_form/javascripts/util/runmode-standalone.js +90 -0
  197. data/app/components/marty/script_form/javascripts/util/runmode.js +53 -0
  198. data/app/components/marty/script_form/javascripts/util/search.js +118 -0
  199. data/app/components/marty/script_form/javascripts/util/searchcursor.js +119 -0
  200. data/app/components/marty/script_form/javascripts/util/simple-hint.css +16 -0
  201. data/app/components/marty/script_form/javascripts/util/simple-hint.js +97 -0
  202. data/app/components/marty/script_form/javascripts/util/xml-hint.js +137 -0
  203. data/app/components/marty/script_form/stylesheets/codemirror.css +172 -0
  204. data/app/components/marty/script_form/stylesheets/delorean.css +10 -0
  205. data/app/components/marty/script_form/stylesheets/theme/ambiance.css +81 -0
  206. data/app/components/marty/script_form/stylesheets/theme/blackboard.css +25 -0
  207. data/app/components/marty/script_form/stylesheets/theme/cobalt.css +18 -0
  208. data/app/components/marty/script_form/stylesheets/theme/eclipse.css +25 -0
  209. data/app/components/marty/script_form/stylesheets/theme/elegant.css +10 -0
  210. data/app/components/marty/script_form/stylesheets/theme/erlang-dark.css +21 -0
  211. data/app/components/marty/script_form/stylesheets/theme/lesser-dark.css +44 -0
  212. data/app/components/marty/script_form/stylesheets/theme/monokai.css +28 -0
  213. data/app/components/marty/script_form/stylesheets/theme/neat.css +9 -0
  214. data/app/components/marty/script_form/stylesheets/theme/night.css +21 -0
  215. data/app/components/marty/script_form/stylesheets/theme/rubyblue.css +21 -0
  216. data/app/components/marty/script_form/stylesheets/theme/vibrant-ink.css +27 -0
  217. data/app/components/marty/script_form/stylesheets/theme/xq-dark.css +46 -0
  218. data/app/components/marty/script_grid.rb +104 -0
  219. data/app/components/marty/script_grid.rb~ +99 -0
  220. data/app/components/marty/script_tester.rb +114 -0
  221. data/app/components/marty/script_tester.rb~ +213 -0
  222. data/app/components/marty/scripting.rb +132 -0
  223. data/app/components/marty/scripting.rb~ +124 -0
  224. data/app/components/marty/select_report.rb~ +143 -0
  225. data/app/components/marty/simple_app.rb +97 -0
  226. data/app/components/marty/simple_app.rb~ +101 -0
  227. data/app/components/marty/simple_app/javascripts/simple_app.js +50 -0
  228. data/app/components/marty/simple_app/javascripts/statusbar_ext.js +8 -0
  229. data/app/components/marty/tag_grid.rb +83 -0
  230. data/app/components/marty/tag_grid.rb~ +89 -0
  231. data/app/components/marty/tree_panel.rb~ +256 -0
  232. data/app/components/marty/tree_panel/javascripts/tree_panel.js~ +317 -0
  233. data/app/components/marty/user_pivot.rb +128 -0
  234. data/app/components/marty/user_view.rb +181 -0
  235. data/app/components/marty/user_view.rb~ +188 -0
  236. data/app/controllers/marty/application_controller.rb +124 -0
  237. data/app/controllers/marty/application_controller.rb~ +133 -0
  238. data/app/controllers/marty/components_controller.rb +41 -0
  239. data/app/controllers/marty/components_controller.rb~ +37 -0
  240. data/app/controllers/marty/job_controller.rb +28 -0
  241. data/app/controllers/marty/job_controller.rb~ +28 -0
  242. data/app/controllers/marty/rpc_controller.rb +64 -0
  243. data/app/controllers/marty/rpc_controller.rb~ +61 -0
  244. data/app/helpers/marty/application_helper.rb +4 -0
  245. data/app/helpers/marty/script_set.rb +57 -0
  246. data/app/helpers/marty/script_set.rb~ +59 -0
  247. data/app/models/marty/api_auth.rb +44 -0
  248. data/app/models/marty/api_auth.rb~ +48 -0
  249. data/app/models/marty/base.rb +4 -0
  250. data/app/models/marty/data_change.rb +179 -0
  251. data/app/models/marty/data_change.rb~ +141 -0
  252. data/app/models/marty/enum.rb +22 -0
  253. data/app/models/marty/enum.rb~ +16 -0
  254. data/app/models/marty/import_type.rb +44 -0
  255. data/app/models/marty/import_type.rb~ +48 -0
  256. data/app/models/marty/poop.rb~ +169 -0
  257. data/app/models/marty/posting.rb +101 -0
  258. data/app/models/marty/posting.rb~ +86 -0
  259. data/app/models/marty/posting_type.rb +12 -0
  260. data/app/models/marty/posting_type.rb~ +21 -0
  261. data/app/models/marty/promise.rb +252 -0
  262. data/app/models/marty/promise.rb~ +196 -0
  263. data/app/models/marty/role.rb +6 -0
  264. data/app/models/marty/role.rb~ +10 -0
  265. data/app/models/marty/script.rb +144 -0
  266. data/app/models/marty/script.rb~ +62 -0
  267. data/app/models/marty/tag.rb +96 -0
  268. data/app/models/marty/tag.rb~ +91 -0
  269. data/app/models/marty/token.rb +30 -0
  270. data/app/models/marty/user.rb +146 -0
  271. data/app/models/marty/user.rb~ +148 -0
  272. data/app/models/marty/user_role.rb +7 -0
  273. data/app/models/marty/user_role.rb~ +13 -0
  274. data/app/views/layouts/marty/application.html.erb +12 -0
  275. data/app/views/layouts/marty/application.html.erb~ +11 -0
  276. data/config/locales/en.yml +134 -0
  277. data/config/routes.rb +6 -0
  278. data/config/routes.rb~ +10 -0
  279. data/db/migrate/001_create_marty_scripts.rb +14 -0
  280. data/db/migrate/003_create_marty_users.rb +12 -0
  281. data/db/migrate/004_create_marty_roles.rb +7 -0
  282. data/db/migrate/005_create_marty_user_roles.rb +14 -0
  283. data/db/migrate/006_create_marty_tokens.rb +14 -0
  284. data/db/migrate/008_create_marty_posting_types.rb +7 -0
  285. data/db/migrate/019_create_marty_postings.rb +18 -0
  286. data/db/migrate/019_create_marty_postings.rb~ +19 -0
  287. data/db/migrate/068_create_marty_import_types.rb +12 -0
  288. data/db/migrate/069_create_marty_import_synonyms.rb +15 -0
  289. data/db/migrate/070_create_versions.rb +18 -0
  290. data/db/migrate/071_add_object_changes_column_to_versions.rb +9 -0
  291. data/db/migrate/072_add_validation_function_to_import_types.rb +6 -0
  292. data/db/migrate/073_add_preprocess_function_to_import_types.rb +5 -0
  293. data/db/migrate/090_create_delayed_jobs.rb +22 -0
  294. data/db/migrate/091_create_marty_promises.rb +36 -0
  295. data/db/migrate/095_create_marty_tags.rb +14 -0
  296. data/db/migrate/095_create_marty_tags.rb~ +19 -0
  297. data/db/migrate/096_add_user_roles_to_import_types.rb +11 -0
  298. data/db/migrate/097_drop_versions.rb +9 -0
  299. data/db/migrate/098_create_marty_api_auths.rb +20 -0
  300. data/db/seeds.rb +48 -0
  301. data/lib/marty.rb +18 -0
  302. data/lib/marty.rb~ +13 -0
  303. data/lib/marty/content_handler.rb +97 -0
  304. data/lib/marty/content_handler.rb~ +93 -0
  305. data/lib/marty/data_conversion.rb +298 -0
  306. data/lib/marty/data_exporter.rb +150 -0
  307. data/lib/marty/data_exporter.rb~ +137 -0
  308. data/lib/marty/data_importer.rb +122 -0
  309. data/lib/marty/data_importer.rb~ +114 -0
  310. data/lib/marty/data_row_processor.rb~ +206 -0
  311. data/lib/marty/drop_folder_hook.rb~ +17 -0
  312. data/lib/marty/engine.rb +10 -0
  313. data/lib/marty/folder_hook.rb~ +9 -0
  314. data/lib/marty/lazy_column_loader.rb +57 -0
  315. data/lib/marty/lazy_column_loader.rb~ +47 -0
  316. data/lib/marty/mcfly_query.rb +189 -0
  317. data/lib/marty/mcfly_query.rb~ +188 -0
  318. data/lib/marty/migrations.rb +108 -0
  319. data/lib/marty/migrations.rb~ +65 -0
  320. data/lib/marty/monkey.rb +163 -0
  321. data/lib/marty/monkey.rb~ +160 -0
  322. data/lib/marty/permissions.rb +64 -0
  323. data/lib/marty/permissions.rb~ +69 -0
  324. data/lib/marty/promise.rb~ +41 -0
  325. data/lib/marty/promise_job.rb +123 -0
  326. data/lib/marty/promise_job.rb~ +121 -0
  327. data/lib/marty/promise_proxy.rb +94 -0
  328. data/lib/marty/promise_proxy.rb~ +69 -0
  329. data/lib/marty/railtie.rb +5 -0
  330. data/lib/marty/relation.rb +39 -0
  331. data/lib/marty/util.rb +110 -0
  332. data/lib/marty/util.rb~ +80 -0
  333. data/lib/marty/version.rb +3 -0
  334. data/lib/marty/version.rb~ +3 -0
  335. data/lib/marty/xl.rb +527 -0
  336. data/lib/marty/xl.rb~ +526 -0
  337. data/lib/pyxll/README.txt +19 -0
  338. data/lib/pyxll/README.txt~ +16 -0
  339. data/lib/pyxll/gemini.py +155 -0
  340. data/lib/pyxll/gemini.py~ +110 -0
  341. data/lib/pyxll/pyxll.cfg +12 -0
  342. data/lib/pyxll/pyxll.cfg~ +12 -0
  343. data/lib/pyxll/sample.xlsx +0 -0
  344. data/lib/tasks/marty_tasks.rake +37 -0
  345. metadata +517 -0
@@ -0,0 +1,58 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>CodeMirror: CSS mode</title>
6
+ <link rel="stylesheet" href="../../lib/codemirror.css">
7
+ <script src="../../lib/codemirror.js"></script>
8
+ <script src="css.js"></script>
9
+ <style>.CodeMirror {background: #f8f8f8;}</style>
10
+ <link rel="stylesheet" href="../../doc/docs.css">
11
+ </head>
12
+ <body>
13
+ <h1>CodeMirror: CSS mode</h1>
14
+ <form><textarea id="code" name="code">
15
+ /* Some example CSS */
16
+
17
+ @import url("something.css");
18
+
19
+ body {
20
+ margin: 0;
21
+ padding: 3em 6em;
22
+ font-family: tahoma, arial, sans-serif;
23
+ color: #000;
24
+ }
25
+
26
+ #navigation a {
27
+ font-weight: bold;
28
+ text-decoration: none !important;
29
+ }
30
+
31
+ h1 {
32
+ font-size: 2.5em;
33
+ }
34
+
35
+ h2 {
36
+ font-size: 1.7em;
37
+ }
38
+
39
+ h1:before, h2:before {
40
+ content: "::";
41
+ }
42
+
43
+ code {
44
+ font-family: courier, monospace;
45
+ font-size: 80%;
46
+ color: #418A8A;
47
+ }
48
+ </textarea></form>
49
+ <script>
50
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {});
51
+ </script>
52
+
53
+ <p><strong>MIME types defined:</strong> <code>text/css</code>.</p>
54
+
55
+ <p><strong>Parsing/Highlighting Tests:</strong> <a href="../../test/index.html#css_*">normal</a>, <a href="../../test/index.html#verbose,css_*">verbose</a>.</p>
56
+
57
+ </body>
58
+ </html>
@@ -0,0 +1,501 @@
1
+ // Initiate ModeTest and set defaults
2
+ var MT = ModeTest;
3
+ MT.modeName = 'css';
4
+ MT.modeOptions = {};
5
+
6
+ // Requires at least one media query
7
+ MT.testMode(
8
+ 'atMediaEmpty',
9
+ '@media { }',
10
+ [
11
+ 'def', '@media',
12
+ null, ' ',
13
+ 'error', '{',
14
+ null, ' }'
15
+ ]
16
+ );
17
+
18
+ MT.testMode(
19
+ 'atMediaMultiple',
20
+ '@media not screen and (color), not print and (color) { }',
21
+ [
22
+ 'def', '@media',
23
+ null, ' ',
24
+ 'keyword', 'not',
25
+ null, ' ',
26
+ 'attribute', 'screen',
27
+ null, ' ',
28
+ 'operator', 'and',
29
+ null, ' (',
30
+ 'property', 'color',
31
+ null, '), ',
32
+ 'keyword', 'not',
33
+ null, ' ',
34
+ 'attribute', 'print',
35
+ null, ' ',
36
+ 'operator', 'and',
37
+ null, ' (',
38
+ 'property', 'color',
39
+ null, ') { }'
40
+ ]
41
+ );
42
+
43
+ MT.testMode(
44
+ 'atMediaCheckStack',
45
+ '@media screen { } foo { }',
46
+ [
47
+ 'def', '@media',
48
+ null, ' ',
49
+ 'attribute', 'screen',
50
+ null, ' { } ',
51
+ 'tag', 'foo',
52
+ null, ' { }'
53
+ ]
54
+ );
55
+
56
+ MT.testMode(
57
+ 'atMediaCheckStack',
58
+ '@media screen (color) { } foo { }',
59
+ [
60
+ 'def', '@media',
61
+ null, ' ',
62
+ 'attribute', 'screen',
63
+ null, ' (',
64
+ 'property', 'color',
65
+ null, ') { } ',
66
+ 'tag', 'foo',
67
+ null, ' { }'
68
+ ]
69
+ );
70
+
71
+ MT.testMode(
72
+ 'atMediaCheckStackInvalidAttribute',
73
+ '@media foobarhello { } foo { }',
74
+ [
75
+ 'def', '@media',
76
+ null, ' ',
77
+ 'attribute error', 'foobarhello',
78
+ null, ' { } ',
79
+ 'tag', 'foo',
80
+ null, ' { }'
81
+ ]
82
+ );
83
+
84
+ // Error, because "and" is only allowed immediately preceding a media expression
85
+ MT.testMode(
86
+ 'atMediaInvalidAttribute',
87
+ '@media foobarhello { }',
88
+ [
89
+ 'def', '@media',
90
+ null, ' ',
91
+ 'attribute error', 'foobarhello',
92
+ null, ' { }'
93
+ ]
94
+ );
95
+
96
+ // Error, because "and" is only allowed immediately preceding a media expression
97
+ MT.testMode(
98
+ 'atMediaInvalidAnd',
99
+ '@media and screen { }',
100
+ [
101
+ 'def', '@media',
102
+ null, ' ',
103
+ 'error', 'and',
104
+ null, ' ',
105
+ 'attribute', 'screen',
106
+ null, ' { }'
107
+ ]
108
+ );
109
+
110
+ // Error, because "not" is only allowed as the first item in each media query
111
+ MT.testMode(
112
+ 'atMediaInvalidNot',
113
+ '@media screen not (not) { }',
114
+ [
115
+ 'def', '@media',
116
+ null, ' ',
117
+ 'attribute', 'screen',
118
+ null, ' ',
119
+ 'error', 'not',
120
+ null, ' (',
121
+ 'error', 'not',
122
+ null, ') { }'
123
+ ]
124
+ );
125
+
126
+ // Error, because "only" is only allowed as the first item in each media query
127
+ MT.testMode(
128
+ 'atMediaInvalidOnly',
129
+ '@media screen only (only) { }',
130
+ [
131
+ 'def', '@media',
132
+ null, ' ',
133
+ 'attribute', 'screen',
134
+ null, ' ',
135
+ 'error', 'only',
136
+ null, ' (',
137
+ 'error', 'only',
138
+ null, ') { }'
139
+ ]
140
+ );
141
+
142
+ // Error, because "foobarhello" is neither a known type or property, but
143
+ // property was expected (after "and"), and it should be in parenthese.
144
+ MT.testMode(
145
+ 'atMediaUnknownType',
146
+ '@media screen and foobarhello { }',
147
+ [
148
+ 'def', '@media',
149
+ null, ' ',
150
+ 'attribute', 'screen',
151
+ null, ' ',
152
+ 'operator', 'and',
153
+ null, ' ',
154
+ 'error', 'foobarhello',
155
+ null, ' { }'
156
+ ]
157
+ );
158
+
159
+ // Error, because "color" is not a known type, but is a known property, and
160
+ // should be in parentheses.
161
+ MT.testMode(
162
+ 'atMediaInvalidType',
163
+ '@media screen and color { }',
164
+ [
165
+ 'def', '@media',
166
+ null, ' ',
167
+ 'attribute', 'screen',
168
+ null, ' ',
169
+ 'operator', 'and',
170
+ null, ' ',
171
+ 'error', 'color',
172
+ null, ' { }'
173
+ ]
174
+ );
175
+
176
+ // Error, because "print" is not a known property, but is a known type,
177
+ // and should not be in parenthese.
178
+ MT.testMode(
179
+ 'atMediaInvalidProperty',
180
+ '@media screen and (print) { }',
181
+ [
182
+ 'def', '@media',
183
+ null, ' ',
184
+ 'attribute', 'screen',
185
+ null, ' ',
186
+ 'operator', 'and',
187
+ null, ' (',
188
+ 'error', 'print',
189
+ null, ') { }'
190
+ ]
191
+ );
192
+
193
+ // Soft error, because "foobarhello" is not a known property or type.
194
+ MT.testMode(
195
+ 'atMediaUnknownProperty',
196
+ '@media screen and (foobarhello) { }',
197
+ [
198
+ 'def', '@media',
199
+ null, ' ',
200
+ 'attribute', 'screen',
201
+ null, ' ',
202
+ 'operator', 'and',
203
+ null, ' (',
204
+ 'property error', 'foobarhello',
205
+ null, ') { }'
206
+ ]
207
+ );
208
+
209
+ MT.testMode(
210
+ 'tagSelector',
211
+ 'foo { }',
212
+ [
213
+ 'tag', 'foo',
214
+ null, ' { }'
215
+ ]
216
+ );
217
+
218
+ MT.testMode(
219
+ 'classSelector',
220
+ '.foo { }',
221
+ [
222
+ 'qualifier', '.foo',
223
+ null, ' { }'
224
+ ]
225
+ );
226
+
227
+ MT.testMode(
228
+ 'idSelector',
229
+ '#foo { #foo }',
230
+ [
231
+ 'builtin', '#foo',
232
+ null, ' { ',
233
+ 'error', '#foo',
234
+ null, ' }'
235
+ ]
236
+ );
237
+
238
+ MT.testMode(
239
+ 'tagSelectorUnclosed',
240
+ 'foo { margin: 0 } bar { }',
241
+ [
242
+ 'tag', 'foo',
243
+ null, ' { ',
244
+ 'property', 'margin',
245
+ 'operator', ':',
246
+ null, ' ',
247
+ 'number', '0',
248
+ null, ' } ',
249
+ 'tag', 'bar',
250
+ null, ' { }'
251
+ ]
252
+ );
253
+
254
+ MT.testMode(
255
+ 'tagStringNoQuotes',
256
+ 'foo { font-family: hello world; }',
257
+ [
258
+ 'tag', 'foo',
259
+ null, ' { ',
260
+ 'property', 'font-family',
261
+ 'operator', ':',
262
+ null, ' ',
263
+ 'variable-2', 'hello',
264
+ null, ' ',
265
+ 'variable-2', 'world',
266
+ null, '; }'
267
+ ]
268
+ );
269
+
270
+ MT.testMode(
271
+ 'tagStringDouble',
272
+ 'foo { font-family: "hello world"; }',
273
+ [
274
+ 'tag', 'foo',
275
+ null, ' { ',
276
+ 'property', 'font-family',
277
+ 'operator', ':',
278
+ null, ' ',
279
+ 'string', '"hello world"',
280
+ null, '; }'
281
+ ]
282
+ );
283
+
284
+ MT.testMode(
285
+ 'tagStringSingle',
286
+ 'foo { font-family: \'hello world\'; }',
287
+ [
288
+ 'tag', 'foo',
289
+ null, ' { ',
290
+ 'property', 'font-family',
291
+ 'operator', ':',
292
+ null, ' ',
293
+ 'string', '\'hello world\'',
294
+ null, '; }'
295
+ ]
296
+ );
297
+
298
+ MT.testMode(
299
+ 'tagColorKeyword',
300
+ 'foo { color: black; }',
301
+ [
302
+ 'tag', 'foo',
303
+ null, ' { ',
304
+ 'property', 'color',
305
+ 'operator', ':',
306
+ null, ' ',
307
+ 'keyword', 'black',
308
+ null, '; }'
309
+ ]
310
+ );
311
+
312
+ MT.testMode(
313
+ 'tagColorHex3',
314
+ 'foo { background: #fff; }',
315
+ [
316
+ 'tag', 'foo',
317
+ null, ' { ',
318
+ 'property', 'background',
319
+ 'operator', ':',
320
+ null, ' ',
321
+ 'atom', '#fff',
322
+ null, '; }'
323
+ ]
324
+ );
325
+
326
+ MT.testMode(
327
+ 'tagColorHex6',
328
+ 'foo { background: #ffffff; }',
329
+ [
330
+ 'tag', 'foo',
331
+ null, ' { ',
332
+ 'property', 'background',
333
+ 'operator', ':',
334
+ null, ' ',
335
+ 'atom', '#ffffff',
336
+ null, '; }'
337
+ ]
338
+ );
339
+
340
+ MT.testMode(
341
+ 'tagColorHex4',
342
+ 'foo { background: #ffff; }',
343
+ [
344
+ 'tag', 'foo',
345
+ null, ' { ',
346
+ 'property', 'background',
347
+ 'operator', ':',
348
+ null, ' ',
349
+ 'atom error', '#ffff',
350
+ null, '; }'
351
+ ]
352
+ );
353
+
354
+ MT.testMode(
355
+ 'tagColorHexInvalid',
356
+ 'foo { background: #ffg; }',
357
+ [
358
+ 'tag', 'foo',
359
+ null, ' { ',
360
+ 'property', 'background',
361
+ 'operator', ':',
362
+ null, ' ',
363
+ 'atom error', '#ffg',
364
+ null, '; }'
365
+ ]
366
+ );
367
+
368
+ MT.testMode(
369
+ 'tagNegativeNumber',
370
+ 'foo { margin: -5px; }',
371
+ [
372
+ 'tag', 'foo',
373
+ null, ' { ',
374
+ 'property', 'margin',
375
+ 'operator', ':',
376
+ null, ' ',
377
+ 'number', '-5px',
378
+ null, '; }'
379
+ ]
380
+ );
381
+
382
+ MT.testMode(
383
+ 'tagPositiveNumber',
384
+ 'foo { padding: 5px; }',
385
+ [
386
+ 'tag', 'foo',
387
+ null, ' { ',
388
+ 'property', 'padding',
389
+ 'operator', ':',
390
+ null, ' ',
391
+ 'number', '5px',
392
+ null, '; }'
393
+ ]
394
+ );
395
+
396
+ MT.testMode(
397
+ 'tagVendor',
398
+ 'foo { -foo-box-sizing: -foo-border-box; }',
399
+ [
400
+ 'tag', 'foo',
401
+ null, ' { ',
402
+ 'meta', '-foo-',
403
+ 'property', 'box-sizing',
404
+ 'operator', ':',
405
+ null, ' ',
406
+ 'meta', '-foo-',
407
+ 'string-2', 'border-box',
408
+ null, '; }'
409
+ ]
410
+ );
411
+
412
+ MT.testMode(
413
+ 'tagBogusProperty',
414
+ 'foo { barhelloworld: 0; }',
415
+ [
416
+ 'tag', 'foo',
417
+ null, ' { ',
418
+ 'property error', 'barhelloworld',
419
+ 'operator', ':',
420
+ null, ' ',
421
+ 'number', '0',
422
+ null, '; }'
423
+ ]
424
+ );
425
+
426
+ MT.testMode(
427
+ 'tagTwoProperties',
428
+ 'foo { margin: 0; padding: 0; }',
429
+ [
430
+ 'tag', 'foo',
431
+ null, ' { ',
432
+ 'property', 'margin',
433
+ 'operator', ':',
434
+ null, ' ',
435
+ 'number', '0',
436
+ null, '; ',
437
+ 'property', 'padding',
438
+ 'operator', ':',
439
+ null, ' ',
440
+ 'number', '0',
441
+ null, '; }'
442
+ ]
443
+ );
444
+ //
445
+ //MT.testMode(
446
+ // 'tagClass',
447
+ // '@media only screen and (min-width: 500px), print {foo.bar#hello { color: black !important; background: #f00; margin: -5px; padding: 5px; -foo-box-sizing: border-box; } /* world */}',
448
+ // [
449
+ // 'def', '@media',
450
+ // null, ' ',
451
+ // 'keyword', 'only',
452
+ // null, ' ',
453
+ // 'attribute', 'screen',
454
+ // null, ' ',
455
+ // 'operator', 'and',
456
+ // null, ' ',
457
+ // 'bracket', '(',
458
+ // 'property', 'min-width',
459
+ // 'operator', ':',
460
+ // null, ' ',
461
+ // 'number', '500px',
462
+ // 'bracket', ')',
463
+ // null, ', ',
464
+ // 'attribute', 'print',
465
+ // null, ' {',
466
+ // 'tag', 'foo',
467
+ // 'qualifier', '.bar',
468
+ // 'header', '#hello',
469
+ // null, ' { ',
470
+ // 'property', 'color',
471
+ // 'operator', ':',
472
+ // null, ' ',
473
+ // 'keyword', 'black',
474
+ // null, ' ',
475
+ // 'keyword', '!important',
476
+ // null, '; ',
477
+ // 'property', 'background',
478
+ // 'operator', ':',
479
+ // null, ' ',
480
+ // 'atom', '#f00',
481
+ // null, '; ',
482
+ // 'property', 'padding',
483
+ // 'operator', ':',
484
+ // null, ' ',
485
+ // 'number', '5px',
486
+ // null, '; ',
487
+ // 'property', 'margin',
488
+ // 'operator', ':',
489
+ // null, ' ',
490
+ // 'number', '-5px',
491
+ // null, '; ',
492
+ // 'meta', '-foo-',
493
+ // 'property', 'box-sizing',
494
+ // 'operator', ':',
495
+ // null, ' ',
496
+ // 'string-2', 'border-box',
497
+ // null, '; } ',
498
+ // 'comment', '/* world */',
499
+ // null, '}'
500
+ // ]
501
+ //);