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,19 @@
1
+ PyXLL - Gemini interface
2
+ ------------------------
3
+
4
+ * Need 32-bit Excel 2010 or newer
5
+
6
+ * Install 32-bit Enthought Canopy from
7
+
8
+ * Install PyXLL package from Canopy
9
+
10
+ * Install gemini.py and pyxll.cfg in the canopy pyxll/ folder.
11
+ Usually installs at:
12
+
13
+ c:/Users/<usr>/AppData/Local/Enthought/Canopy32/User/Lib/site-packages/pyxll/
14
+
15
+ * Should be able to see the addAdd-Ins tab in Excel and it should
16
+ include the PyXLL menu.
17
+
18
+ * sample.xlsx in this directory is an example of PyXLL calling into
19
+ PennyMac's Gemini application server.
@@ -0,0 +1,16 @@
1
+ PyXLL - Gemini interface
2
+ ------------------------
3
+
4
+ * Need 32-bit Excel 2010 or newer
5
+
6
+ * Install 32-bit Enthought Canopy from
7
+
8
+ * Install PyXLL package from Canopy
9
+
10
+ * Install gemini.py and pyxll.cfg in the canopy pyxll/ folder.
11
+ Usually installs at:
12
+
13
+ c:/Users/<usr>/AppData/Local/Enthought/Canopy32/User/Lib/site-packages/pyxll/
14
+
15
+ * Should be able to see the addAdd-Ins tab in Excel and it should
16
+ include the PyXLL menu.
@@ -0,0 +1,155 @@
1
+ from pyxll import (
2
+ xl_func,
3
+ xl_version,
4
+ xl_menu,
5
+ xl_macro,
6
+ xlAsyncReturn,
7
+ xlcAlert,
8
+ xlcCalculateNow,
9
+ xlcCalculateDocument,
10
+ )
11
+ import pyxll
12
+ import hashlib
13
+
14
+ import win32com.client
15
+
16
+ import json
17
+ import requests
18
+
19
+ import multiprocessing
20
+ from multiprocessing.pool import ThreadPool
21
+
22
+ # Excel 2010 or newer is needed since we require async_handle support.
23
+ if xl_version() < 14:
24
+ raise Exception("Gemini calls not supported in older Excel versions")
25
+
26
+ # global hash which stores Gemini call results
27
+ RESULTS = {}
28
+
29
+ # FIXME: hard-coded pool size
30
+ pool = ThreadPool(processes=20)
31
+
32
+ def xl_app():
33
+ """returns a Dispatch object for the current Excel instance"""
34
+ # get the Excel application object from PyXLL and wrap it
35
+ xl_window = pyxll.get_active_object()
36
+ xl_app = win32com.client.Dispatch(xl_window).Application
37
+
38
+ # it's helpful to make sure the gen_py wrapper has been created
39
+ # as otherwise things like constants and event handlers won't work.
40
+ win32com.client.gencache.EnsureDispatch(xl_app)
41
+
42
+ return xl_app
43
+
44
+ # named Excel cell which we will treat as a call version id for
45
+ # clearing the Gemini call cache.
46
+ GEMINI_CALL_ID = "gemini_call_id"
47
+
48
+ @xl_macro()
49
+ def gemini_increment_id():
50
+ gemini_reset()
51
+ xl = xl_app()
52
+ range = xl.Range(GEMINI_CALL_ID)
53
+ range.Value = range.Value + 1
54
+
55
+ @xl_menu("Gemini Reset", menu="Gemini")
56
+ def gemini_reset_menu():
57
+ xlcAlert("Remove %d cached items" % len(RESULTS))
58
+ gemini_reset()
59
+ xl = xl_app()
60
+ range = xl.Range(GEMINI_CALL_ID)
61
+ range.Value = 0
62
+
63
+ @xl_func(": void")
64
+ def gemini_reset():
65
+ global RESULTS
66
+ RESULTS = {}
67
+
68
+ @xl_func("string, var, var, var, var: var")
69
+ def gemini_attr(hkey, *a):
70
+ v = RESULTS.get(hkey)
71
+
72
+ try:
73
+ for attr in a:
74
+ if attr is None:
75
+ break
76
+
77
+ if isinstance(attr, (int, float)):
78
+ attr = int(attr)
79
+
80
+ if not isinstance(v, list):
81
+ raise Exception("bad index %d" % attr)
82
+
83
+ v = v[attr]
84
+ elif isinstance(attr, (str, unicode)):
85
+ if not isinstance(v, dict):
86
+ raise Exception("bad index %s" % attr)
87
+ v = v[attr]
88
+ else:
89
+ raise Exception("bad attr access %s" % attr)
90
+
91
+ if isinstance(v, (dict, list)):
92
+ v = str(v)
93
+
94
+ return v
95
+ except Exception, exc:
96
+ return "Exception: %s" % (exc,)
97
+
98
+ @xl_func("async_handle, string, string, string, string,"
99
+ "var[] keys, var[] values: string")
100
+ def gemini_call(handle, url_base, script, node, attr, keys, values):
101
+
102
+ def thread_func(data):
103
+ try:
104
+ r = requests.post(url_base,
105
+ params = data,
106
+ headers = {'content-type': 'application/json'},
107
+ )
108
+
109
+ res = json.loads(r.text)
110
+
111
+ if isinstance(res, dict) and "error" in res:
112
+ raise Exception(str(res["error"]))
113
+
114
+ if not isinstance(res, list) or len(res) != 1:
115
+ raise Exception("unexpected result from Gemini")
116
+
117
+ hash_str = str(tuple([script, node, attr] + values[0]))
118
+ hkey = hashlib.md5(hash_str).hexdigest()[:30]
119
+
120
+ RESULTS[hkey] = res[0]
121
+
122
+ result = hkey
123
+ except Exception, exc:
124
+ result = "Exception: %s" % (exc,)
125
+
126
+ xlAsyncReturn(handle, result)
127
+
128
+ ##############################
129
+
130
+ try:
131
+ if not keys:
132
+ keys = [[]]
133
+
134
+ if not values:
135
+ values = [[]]
136
+
137
+ if len(keys) != 1:
138
+ raise Exception("bad keys range")
139
+
140
+ if len(values) != 1:
141
+ raise Exception("bad values range")
142
+
143
+ params = dict(zip(keys[0], values[0]))
144
+
145
+ data = dict(
146
+ node = node,
147
+ script = script,
148
+ attrs = json.dumps([attr]),
149
+ params = json.dumps(params),
150
+ )
151
+
152
+ pool.map(thread_func, [data])
153
+
154
+ except Exception, exc:
155
+ xlAsyncReturn(handle, "Exception: %s" % (exc,))
@@ -0,0 +1,110 @@
1
+ from pyxll import xl_func, xl_version, xlAsyncReturn
2
+
3
+ import json
4
+ import requests
5
+
6
+ import multiprocessing
7
+ from multiprocessing.pool import ThreadPool
8
+
9
+ # Excel 2010 or newer is needed since we require async_handle support.
10
+ if xl_version() < 14:
11
+ raise Exception("Gemini calls not supported in older Excel versions")
12
+
13
+ # global hash which stores Gemini call results
14
+ RESULTS = {}
15
+
16
+ # FIXME: hard-coded pool size
17
+ pool = ThreadPool(processes=20)
18
+
19
+ @xl_func(": void")
20
+ def gemini_reset():
21
+ global RESULTS
22
+ RESULTS = {}
23
+
24
+ @xl_func("string, var, var, var, var: var")
25
+ def gemini_attr(hkey, *a):
26
+ v = RESULTS.get(hkey)
27
+
28
+ try:
29
+ for attr in a:
30
+ if attr is None:
31
+ break
32
+
33
+ if isinstance(attr, (int, float)):
34
+ attr = int(attr)
35
+
36
+ if not isinstance(v, list):
37
+ raise Exception("bad index %d" % attr)
38
+
39
+ v = v[attr]
40
+ elif isinstance(attr, (str, unicode)):
41
+ if not isinstance(v, dict):
42
+ raise Exception("bad index %s" % attr)
43
+ v = v[attr]
44
+ else:
45
+ raise Exception("bad attr access %s" % attr)
46
+
47
+ if isinstance(v, (dict, list)):
48
+ v = str(v)
49
+
50
+ return v
51
+ except Exception, exc:
52
+ return "Exception: %s" % (exc,)
53
+
54
+ @xl_func("async_handle, string, string, string, string,"
55
+ "var[] keys, var[] values: string")
56
+ def gemini_call(handle, url_base, script, node, attr, keys, values):
57
+
58
+ def thread_func(data):
59
+ try:
60
+ r = requests.post(url_base,
61
+ params = data,
62
+ headers = {'content-type': 'application/json'},
63
+ )
64
+
65
+ res = json.loads(r.text)
66
+
67
+ if isinstance(res, dict) and "error" in res:
68
+ raise Exception(str(res["error"]))
69
+
70
+ if not isinstance(res, list) or len(res) != 1:
71
+ raise Exception("unexpected result from Gemini")
72
+
73
+ hkey = str(hash(tuple(values[0])))
74
+
75
+ RESULTS[hkey] = res[0]
76
+
77
+ result = hkey
78
+ except Exception, exc:
79
+ result = "Exception: %s" % (exc,)
80
+
81
+ xlAsyncReturn(handle, result)
82
+
83
+ ##############################
84
+
85
+ try:
86
+ if not keys:
87
+ keys = [[]]
88
+
89
+ if not values:
90
+ values = [[]]
91
+
92
+ if len(keys) != 1:
93
+ raise Exception("bad keys range")
94
+
95
+ if len(values) != 1:
96
+ raise Exception("bad values range")
97
+
98
+ params = dict(zip(keys[0], values[0]))
99
+
100
+ data = dict(
101
+ node = node,
102
+ script = script,
103
+ attrs = json.dumps([attr]),
104
+ params = json.dumps(params),
105
+ )
106
+
107
+ pool.map(thread_func, [data])
108
+
109
+ except Exception, exc:
110
+ xlAsyncReturn(handle, "Exception: %s" % (exc,))
@@ -0,0 +1,12 @@
1
+ [PYXLL]
2
+ developer_mode = 1
3
+ pythonpath =
4
+ ./
5
+ modules =
6
+ gemini
7
+
8
+ [LOG]
9
+ verbosity = info
10
+ format = %(asctime)s - %(levelname)s : %(message)s
11
+ path = ./logs
12
+ file = pyxll.%(date)s.log
@@ -0,0 +1,12 @@
1
+ [PYXLL]
2
+ developer_mode = 1
3
+ pythonpath =
4
+ ./
5
+ modules =
6
+ gemini
7
+
8
+ [LOG]
9
+ verbosity = info
10
+ format = %(asctime)s - %(levelname)s : %(message)s
11
+ path = ./logs
12
+ file = pyxll.%(date)s.log
Binary file
@@ -0,0 +1,37 @@
1
+ namespace :marty do
2
+ desc 'Load Engine Seed data.'
3
+ task seed: :environment do
4
+ begin
5
+ Marty::Engine.load_seed
6
+ puts "Database has been seeded with Marty Engine data."
7
+ rescue => error
8
+ puts "Error: ", error
9
+ end
10
+ end
11
+
12
+ desc 'remove all loaded scripts from the database'
13
+ task delete_scripts: :environment do
14
+ Marty::Script.delete_scripts
15
+ end
16
+
17
+ desc 'load scripts from the LOAD_DIR directory'
18
+ task load_scripts: :environment do
19
+ Mcfly.whodunnit =
20
+ Marty::User.find_by_login(Rails.configuration.marty.system_account)
21
+ raise 'must have system user account seeded' unless Mcfly.whodunnit
22
+ load_dir = ENV['LOAD_DIR']
23
+ Marty::Script.load_scripts(load_dir)
24
+ end
25
+
26
+ desc 'Print out all models and their fields'
27
+ task print_schema: :environment do
28
+ Rails.application.eager_load!
29
+ ActiveRecord::Base.descendants.sort_by(&:name).each do |model|
30
+ puts model.name
31
+ model.attribute_names.each do |attribute|
32
+ puts " #{attribute}"
33
+ end
34
+ puts
35
+ end
36
+ end
37
+ end
metadata ADDED
@@ -0,0 +1,517 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: marty
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.12
5
+ platform: ruby
6
+ authors:
7
+ - Arman Bostani
8
+ - Eric Litwin
9
+ - Iliana Toneva
10
+ - Brian VanLoo
11
+ - Chad Edie
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+ date: 2015-10-12 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: pg
19
+ requirement: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: '0'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: netzke-core
33
+ requirement: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - "~>"
36
+ - !ruby/object:Gem::Version
37
+ version: 0.12.2
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - "~>"
43
+ - !ruby/object:Gem::Version
44
+ version: 0.12.2
45
+ - !ruby/object:Gem::Dependency
46
+ name: netzke-basepack
47
+ requirement: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - "~>"
50
+ - !ruby/object:Gem::Version
51
+ version: 0.12.6
52
+ type: :runtime
53
+ prerelease: false
54
+ version_requirements: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - "~>"
57
+ - !ruby/object:Gem::Version
58
+ version: 0.12.6
59
+ - !ruby/object:Gem::Dependency
60
+ name: axlsx
61
+ requirement: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - '='
64
+ - !ruby/object:Gem::Version
65
+ version: 2.1.0pre
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - '='
71
+ - !ruby/object:Gem::Version
72
+ version: 2.1.0pre
73
+ - !ruby/object:Gem::Dependency
74
+ name: delorean_lang
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ - !ruby/object:Gem::Dependency
88
+ name: mcfly
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - '='
92
+ - !ruby/object:Gem::Version
93
+ version: 0.0.17
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - '='
99
+ - !ruby/object:Gem::Version
100
+ version: 0.0.17
101
+ - !ruby/object:Gem::Dependency
102
+ name: coderay
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ type: :runtime
109
+ prerelease: false
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ - !ruby/object:Gem::Dependency
116
+ name: net-ldap
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ - !ruby/object:Gem::Dependency
130
+ name: rubyzip
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ description: A framework for working with versioned data
144
+ email:
145
+ - arman.bostani@pnmac.com
146
+ executables: []
147
+ extensions: []
148
+ extra_rdoc_files: []
149
+ files:
150
+ - MIT-LICENSE
151
+ - README.md
152
+ - Rakefile
153
+ - app/assets/javascripts/marty/application.js
154
+ - app/assets/stylesheets/marty/application.css
155
+ - app/components/marty/api_auth_view.rb
156
+ - app/components/marty/auth_app.rb
157
+ - app/components/marty/auth_app.rb~
158
+ - app/components/marty/auth_app/javascripts/auth_app.js
159
+ - app/components/marty/auth_app/javascripts/auth_app.js~
160
+ - app/components/marty/cm_form_panel.rb~
161
+ - app/components/marty/cm_grid_panel.rb~
162
+ - app/components/marty/data_import_view.rb~
163
+ - app/components/marty/extras/layout.rb
164
+ - app/components/marty/extras/layout.rb~
165
+ - app/components/marty/extras/misc.rb
166
+ - app/components/marty/form.rb
167
+ - app/components/marty/grid.rb
168
+ - app/components/marty/grid_append_only.rb
169
+ - app/components/marty/import_type_view.rb
170
+ - app/components/marty/live_search_grid_panel.rb
171
+ - app/components/marty/live_search_grid_panel.rb~
172
+ - app/components/marty/main_auth_app.rb
173
+ - app/components/marty/main_auth_app.rb~
174
+ - app/components/marty/mcfly_grid_panel.rb
175
+ - app/components/marty/mcfly_grid_panel.rb~
176
+ - app/components/marty/new_posting_form.rb
177
+ - app/components/marty/new_posting_form.rb~
178
+ - app/components/marty/new_posting_window.rb
179
+ - app/components/marty/new_posting_window.rb~
180
+ - app/components/marty/panel.rb
181
+ - app/components/marty/pivot_grid.rb
182
+ - app/components/marty/pivot_grid/endpoints.rb
183
+ - app/components/marty/pivot_grid/javascripts/extensions.js
184
+ - app/components/marty/pivot_grid/javascripts/pivot_grid.js
185
+ - app/components/marty/pivot_grid/services.rb
186
+ - app/components/marty/posting_grid.rb
187
+ - app/components/marty/posting_grid.rb~
188
+ - app/components/marty/posting_window.rb
189
+ - app/components/marty/promise_view.rb
190
+ - app/components/marty/promise_view.rb~
191
+ - app/components/marty/promise_view/stylesheets/promise_view.css
192
+ - app/components/marty/promise_view/stylesheets/promise_view.css~
193
+ - app/components/marty/report_form.rb
194
+ - app/components/marty/report_form.rb~
195
+ - app/components/marty/report_select.rb
196
+ - app/components/marty/report_select.rb~
197
+ - app/components/marty/reporting.rb
198
+ - app/components/marty/reporting.rb~
199
+ - app/components/marty/script_detail.rb~
200
+ - app/components/marty/script_form.rb
201
+ - app/components/marty/script_form.rb~
202
+ - app/components/marty/script_form/javascripts/Ext.ux.form.field.CodeMirror.js
203
+ - app/components/marty/script_form/javascripts/Ext.ux.form.field.CodeMirror.js~
204
+ - app/components/marty/script_form/javascripts/codemirror.js
205
+ - app/components/marty/script_form/javascripts/mode/clike/clike.js
206
+ - app/components/marty/script_form/javascripts/mode/clike/index.html
207
+ - app/components/marty/script_form/javascripts/mode/clike/scala.html
208
+ - app/components/marty/script_form/javascripts/mode/clojure/clojure.js
209
+ - app/components/marty/script_form/javascripts/mode/clojure/index.html
210
+ - app/components/marty/script_form/javascripts/mode/coffeescript/LICENSE
211
+ - app/components/marty/script_form/javascripts/mode/coffeescript/coffeescript.js
212
+ - app/components/marty/script_form/javascripts/mode/coffeescript/index.html
213
+ - app/components/marty/script_form/javascripts/mode/commonlisp/commonlisp.js
214
+ - app/components/marty/script_form/javascripts/mode/commonlisp/index.html
215
+ - app/components/marty/script_form/javascripts/mode/css/css.js
216
+ - app/components/marty/script_form/javascripts/mode/css/index.html
217
+ - app/components/marty/script_form/javascripts/mode/css/test.js
218
+ - app/components/marty/script_form/javascripts/mode/delorean/delorean.js
219
+ - app/components/marty/script_form/javascripts/mode/diff/diff.js
220
+ - app/components/marty/script_form/javascripts/mode/diff/index.html
221
+ - app/components/marty/script_form/javascripts/mode/ecl/ecl.js
222
+ - app/components/marty/script_form/javascripts/mode/ecl/index.html
223
+ - app/components/marty/script_form/javascripts/mode/erlang/erlang.js
224
+ - app/components/marty/script_form/javascripts/mode/erlang/index.html
225
+ - app/components/marty/script_form/javascripts/mode/gfm/gfm.js
226
+ - app/components/marty/script_form/javascripts/mode/gfm/index.html
227
+ - app/components/marty/script_form/javascripts/mode/go/go.js
228
+ - app/components/marty/script_form/javascripts/mode/go/index.html
229
+ - app/components/marty/script_form/javascripts/mode/groovy/groovy.js
230
+ - app/components/marty/script_form/javascripts/mode/groovy/index.html
231
+ - app/components/marty/script_form/javascripts/mode/haskell/haskell.js
232
+ - app/components/marty/script_form/javascripts/mode/haskell/index.html
233
+ - app/components/marty/script_form/javascripts/mode/haxe/haxe.js
234
+ - app/components/marty/script_form/javascripts/mode/haxe/index.html
235
+ - app/components/marty/script_form/javascripts/mode/htmlembedded/htmlembedded.js
236
+ - app/components/marty/script_form/javascripts/mode/htmlembedded/index.html
237
+ - app/components/marty/script_form/javascripts/mode/htmlmixed/htmlmixed.js
238
+ - app/components/marty/script_form/javascripts/mode/htmlmixed/index.html
239
+ - app/components/marty/script_form/javascripts/mode/javascript/index.html
240
+ - app/components/marty/script_form/javascripts/mode/javascript/javascript.js
241
+ - app/components/marty/script_form/javascripts/mode/jinja2/index.html
242
+ - app/components/marty/script_form/javascripts/mode/jinja2/jinja2.js
243
+ - app/components/marty/script_form/javascripts/mode/less/index.html
244
+ - app/components/marty/script_form/javascripts/mode/less/less.js
245
+ - app/components/marty/script_form/javascripts/mode/lua/index.html
246
+ - app/components/marty/script_form/javascripts/mode/lua/lua.js
247
+ - app/components/marty/script_form/javascripts/mode/markdown/index.html
248
+ - app/components/marty/script_form/javascripts/mode/markdown/markdown.js
249
+ - app/components/marty/script_form/javascripts/mode/markdown/test.js
250
+ - app/components/marty/script_form/javascripts/mode/mysql/index.html
251
+ - app/components/marty/script_form/javascripts/mode/mysql/mysql.js
252
+ - app/components/marty/script_form/javascripts/mode/ntriples/index.html
253
+ - app/components/marty/script_form/javascripts/mode/ntriples/ntriples.js
254
+ - app/components/marty/script_form/javascripts/mode/ocaml/index.html
255
+ - app/components/marty/script_form/javascripts/mode/ocaml/ocaml.js
256
+ - app/components/marty/script_form/javascripts/mode/pascal/LICENSE
257
+ - app/components/marty/script_form/javascripts/mode/pascal/index.html
258
+ - app/components/marty/script_form/javascripts/mode/pascal/pascal.js
259
+ - app/components/marty/script_form/javascripts/mode/perl/LICENSE
260
+ - app/components/marty/script_form/javascripts/mode/perl/index.html
261
+ - app/components/marty/script_form/javascripts/mode/perl/perl.js
262
+ - app/components/marty/script_form/javascripts/mode/php/index.html
263
+ - app/components/marty/script_form/javascripts/mode/php/php.js
264
+ - app/components/marty/script_form/javascripts/mode/pig/index.html
265
+ - app/components/marty/script_form/javascripts/mode/pig/pig.js
266
+ - app/components/marty/script_form/javascripts/mode/plsql/index.html
267
+ - app/components/marty/script_form/javascripts/mode/plsql/plsql.js
268
+ - app/components/marty/script_form/javascripts/mode/properties/index.html
269
+ - app/components/marty/script_form/javascripts/mode/properties/properties.js
270
+ - app/components/marty/script_form/javascripts/mode/python/LICENSE.txt
271
+ - app/components/marty/script_form/javascripts/mode/python/index.html
272
+ - app/components/marty/script_form/javascripts/mode/python/python.js
273
+ - app/components/marty/script_form/javascripts/mode/r/LICENSE
274
+ - app/components/marty/script_form/javascripts/mode/r/index.html
275
+ - app/components/marty/script_form/javascripts/mode/r/r.js
276
+ - app/components/marty/script_form/javascripts/mode/rpm/changes/changes.js
277
+ - app/components/marty/script_form/javascripts/mode/rpm/changes/index.html
278
+ - app/components/marty/script_form/javascripts/mode/rpm/spec/index.html
279
+ - app/components/marty/script_form/javascripts/mode/rpm/spec/spec.css
280
+ - app/components/marty/script_form/javascripts/mode/rpm/spec/spec.js
281
+ - app/components/marty/script_form/javascripts/mode/rst/index.html
282
+ - app/components/marty/script_form/javascripts/mode/rst/rst.js
283
+ - app/components/marty/script_form/javascripts/mode/ruby/LICENSE
284
+ - app/components/marty/script_form/javascripts/mode/ruby/index.html
285
+ - app/components/marty/script_form/javascripts/mode/ruby/ruby.js
286
+ - app/components/marty/script_form/javascripts/mode/rust/index.html
287
+ - app/components/marty/script_form/javascripts/mode/rust/rust.js
288
+ - app/components/marty/script_form/javascripts/mode/scheme/index.html
289
+ - app/components/marty/script_form/javascripts/mode/scheme/scheme.js
290
+ - app/components/marty/script_form/javascripts/mode/shell/index.html
291
+ - app/components/marty/script_form/javascripts/mode/shell/shell.js
292
+ - app/components/marty/script_form/javascripts/mode/sieve/LICENSE
293
+ - app/components/marty/script_form/javascripts/mode/sieve/index.html
294
+ - app/components/marty/script_form/javascripts/mode/sieve/sieve.js
295
+ - app/components/marty/script_form/javascripts/mode/smalltalk/index.html
296
+ - app/components/marty/script_form/javascripts/mode/smalltalk/smalltalk.js
297
+ - app/components/marty/script_form/javascripts/mode/smarty/index.html
298
+ - app/components/marty/script_form/javascripts/mode/smarty/smarty.js
299
+ - app/components/marty/script_form/javascripts/mode/sparql/index.html
300
+ - app/components/marty/script_form/javascripts/mode/sparql/sparql.js
301
+ - app/components/marty/script_form/javascripts/mode/stex/index.html
302
+ - app/components/marty/script_form/javascripts/mode/stex/stex.js
303
+ - app/components/marty/script_form/javascripts/mode/stex/test.js
304
+ - app/components/marty/script_form/javascripts/mode/tiddlywiki/index.html
305
+ - app/components/marty/script_form/javascripts/mode/tiddlywiki/tiddlywiki.css
306
+ - app/components/marty/script_form/javascripts/mode/tiddlywiki/tiddlywiki.js
307
+ - app/components/marty/script_form/javascripts/mode/tiki/index.html
308
+ - app/components/marty/script_form/javascripts/mode/tiki/tiki.css
309
+ - app/components/marty/script_form/javascripts/mode/tiki/tiki.js
310
+ - app/components/marty/script_form/javascripts/mode/vb/LICENSE.txt
311
+ - app/components/marty/script_form/javascripts/mode/vb/index.html
312
+ - app/components/marty/script_form/javascripts/mode/vb/vb.js
313
+ - app/components/marty/script_form/javascripts/mode/vbscript/index.html
314
+ - app/components/marty/script_form/javascripts/mode/vbscript/vbscript.js
315
+ - app/components/marty/script_form/javascripts/mode/velocity/index.html
316
+ - app/components/marty/script_form/javascripts/mode/velocity/velocity.js
317
+ - app/components/marty/script_form/javascripts/mode/verilog/index.html
318
+ - app/components/marty/script_form/javascripts/mode/verilog/verilog.js
319
+ - app/components/marty/script_form/javascripts/mode/xml/index.html
320
+ - app/components/marty/script_form/javascripts/mode/xml/xml.js
321
+ - app/components/marty/script_form/javascripts/mode/xquery/LICENSE
322
+ - app/components/marty/script_form/javascripts/mode/xquery/index.html
323
+ - app/components/marty/script_form/javascripts/mode/xquery/test/index.html
324
+ - app/components/marty/script_form/javascripts/mode/xquery/test/testBase.js
325
+ - app/components/marty/script_form/javascripts/mode/xquery/test/testEmptySequenceKeyword.js
326
+ - app/components/marty/script_form/javascripts/mode/xquery/test/testMultiAttr.js
327
+ - app/components/marty/script_form/javascripts/mode/xquery/test/testNamespaces.js
328
+ - app/components/marty/script_form/javascripts/mode/xquery/test/testProcessingInstructions.js
329
+ - app/components/marty/script_form/javascripts/mode/xquery/test/testQuotes.js
330
+ - app/components/marty/script_form/javascripts/mode/xquery/xquery.js
331
+ - app/components/marty/script_form/javascripts/mode/yaml/index.html
332
+ - app/components/marty/script_form/javascripts/mode/yaml/yaml.js
333
+ - app/components/marty/script_form/javascripts/util/closetag.js
334
+ - app/components/marty/script_form/javascripts/util/dialog.css
335
+ - app/components/marty/script_form/javascripts/util/dialog.js
336
+ - app/components/marty/script_form/javascripts/util/foldcode.js
337
+ - app/components/marty/script_form/javascripts/util/formatting.js
338
+ - app/components/marty/script_form/javascripts/util/javascript-hint.js
339
+ - app/components/marty/script_form/javascripts/util/loadmode.js
340
+ - app/components/marty/script_form/javascripts/util/match-highlighter.js
341
+ - app/components/marty/script_form/javascripts/util/multiplex.js
342
+ - app/components/marty/script_form/javascripts/util/overlay.js
343
+ - app/components/marty/script_form/javascripts/util/pig-hint.js
344
+ - app/components/marty/script_form/javascripts/util/runmode-standalone.js
345
+ - app/components/marty/script_form/javascripts/util/runmode.js
346
+ - app/components/marty/script_form/javascripts/util/search.js
347
+ - app/components/marty/script_form/javascripts/util/searchcursor.js
348
+ - app/components/marty/script_form/javascripts/util/simple-hint.css
349
+ - app/components/marty/script_form/javascripts/util/simple-hint.js
350
+ - app/components/marty/script_form/javascripts/util/xml-hint.js
351
+ - app/components/marty/script_form/stylesheets/codemirror.css
352
+ - app/components/marty/script_form/stylesheets/delorean.css
353
+ - app/components/marty/script_form/stylesheets/theme/ambiance.css
354
+ - app/components/marty/script_form/stylesheets/theme/blackboard.css
355
+ - app/components/marty/script_form/stylesheets/theme/cobalt.css
356
+ - app/components/marty/script_form/stylesheets/theme/eclipse.css
357
+ - app/components/marty/script_form/stylesheets/theme/elegant.css
358
+ - app/components/marty/script_form/stylesheets/theme/erlang-dark.css
359
+ - app/components/marty/script_form/stylesheets/theme/lesser-dark.css
360
+ - app/components/marty/script_form/stylesheets/theme/monokai.css
361
+ - app/components/marty/script_form/stylesheets/theme/neat.css
362
+ - app/components/marty/script_form/stylesheets/theme/night.css
363
+ - app/components/marty/script_form/stylesheets/theme/rubyblue.css
364
+ - app/components/marty/script_form/stylesheets/theme/vibrant-ink.css
365
+ - app/components/marty/script_form/stylesheets/theme/xq-dark.css
366
+ - app/components/marty/script_grid.rb
367
+ - app/components/marty/script_grid.rb~
368
+ - app/components/marty/script_tester.rb
369
+ - app/components/marty/script_tester.rb~
370
+ - app/components/marty/scripting.rb
371
+ - app/components/marty/scripting.rb~
372
+ - app/components/marty/select_report.rb~
373
+ - app/components/marty/simple_app.rb
374
+ - app/components/marty/simple_app.rb~
375
+ - app/components/marty/simple_app/javascripts/simple_app.js
376
+ - app/components/marty/simple_app/javascripts/statusbar_ext.js
377
+ - app/components/marty/tag_grid.rb
378
+ - app/components/marty/tag_grid.rb~
379
+ - app/components/marty/tree_panel.rb~
380
+ - app/components/marty/tree_panel/javascripts/tree_panel.js~
381
+ - app/components/marty/user_pivot.rb
382
+ - app/components/marty/user_view.rb
383
+ - app/components/marty/user_view.rb~
384
+ - app/controllers/marty/application_controller.rb
385
+ - app/controllers/marty/application_controller.rb~
386
+ - app/controllers/marty/components_controller.rb
387
+ - app/controllers/marty/components_controller.rb~
388
+ - app/controllers/marty/job_controller.rb
389
+ - app/controllers/marty/job_controller.rb~
390
+ - app/controllers/marty/rpc_controller.rb
391
+ - app/controllers/marty/rpc_controller.rb~
392
+ - app/helpers/marty/application_helper.rb
393
+ - app/helpers/marty/script_set.rb
394
+ - app/helpers/marty/script_set.rb~
395
+ - app/models/marty/api_auth.rb
396
+ - app/models/marty/api_auth.rb~
397
+ - app/models/marty/base.rb
398
+ - app/models/marty/data_change.rb
399
+ - app/models/marty/data_change.rb~
400
+ - app/models/marty/enum.rb
401
+ - app/models/marty/enum.rb~
402
+ - app/models/marty/import_type.rb
403
+ - app/models/marty/import_type.rb~
404
+ - app/models/marty/poop.rb~
405
+ - app/models/marty/posting.rb
406
+ - app/models/marty/posting.rb~
407
+ - app/models/marty/posting_type.rb
408
+ - app/models/marty/posting_type.rb~
409
+ - app/models/marty/promise.rb
410
+ - app/models/marty/promise.rb~
411
+ - app/models/marty/role.rb
412
+ - app/models/marty/role.rb~
413
+ - app/models/marty/script.rb
414
+ - app/models/marty/script.rb~
415
+ - app/models/marty/tag.rb
416
+ - app/models/marty/tag.rb~
417
+ - app/models/marty/token.rb
418
+ - app/models/marty/user.rb
419
+ - app/models/marty/user.rb~
420
+ - app/models/marty/user_role.rb
421
+ - app/models/marty/user_role.rb~
422
+ - app/views/layouts/marty/application.html.erb
423
+ - app/views/layouts/marty/application.html.erb~
424
+ - config/locales/en.yml
425
+ - config/routes.rb
426
+ - config/routes.rb~
427
+ - db/migrate/001_create_marty_scripts.rb
428
+ - db/migrate/003_create_marty_users.rb
429
+ - db/migrate/004_create_marty_roles.rb
430
+ - db/migrate/005_create_marty_user_roles.rb
431
+ - db/migrate/006_create_marty_tokens.rb
432
+ - db/migrate/008_create_marty_posting_types.rb
433
+ - db/migrate/019_create_marty_postings.rb
434
+ - db/migrate/019_create_marty_postings.rb~
435
+ - db/migrate/068_create_marty_import_types.rb
436
+ - db/migrate/069_create_marty_import_synonyms.rb
437
+ - db/migrate/070_create_versions.rb
438
+ - db/migrate/071_add_object_changes_column_to_versions.rb
439
+ - db/migrate/072_add_validation_function_to_import_types.rb
440
+ - db/migrate/073_add_preprocess_function_to_import_types.rb
441
+ - db/migrate/090_create_delayed_jobs.rb
442
+ - db/migrate/091_create_marty_promises.rb
443
+ - db/migrate/095_create_marty_tags.rb
444
+ - db/migrate/095_create_marty_tags.rb~
445
+ - db/migrate/096_add_user_roles_to_import_types.rb
446
+ - db/migrate/097_drop_versions.rb
447
+ - db/migrate/098_create_marty_api_auths.rb
448
+ - db/seeds.rb
449
+ - lib/marty.rb
450
+ - lib/marty.rb~
451
+ - lib/marty/content_handler.rb
452
+ - lib/marty/content_handler.rb~
453
+ - lib/marty/data_conversion.rb
454
+ - lib/marty/data_exporter.rb
455
+ - lib/marty/data_exporter.rb~
456
+ - lib/marty/data_importer.rb
457
+ - lib/marty/data_importer.rb~
458
+ - lib/marty/data_row_processor.rb~
459
+ - lib/marty/drop_folder_hook.rb~
460
+ - lib/marty/engine.rb
461
+ - lib/marty/folder_hook.rb~
462
+ - lib/marty/lazy_column_loader.rb
463
+ - lib/marty/lazy_column_loader.rb~
464
+ - lib/marty/mcfly_query.rb
465
+ - lib/marty/mcfly_query.rb~
466
+ - lib/marty/migrations.rb
467
+ - lib/marty/migrations.rb~
468
+ - lib/marty/monkey.rb
469
+ - lib/marty/monkey.rb~
470
+ - lib/marty/permissions.rb
471
+ - lib/marty/permissions.rb~
472
+ - lib/marty/promise.rb~
473
+ - lib/marty/promise_job.rb
474
+ - lib/marty/promise_job.rb~
475
+ - lib/marty/promise_proxy.rb
476
+ - lib/marty/promise_proxy.rb~
477
+ - lib/marty/railtie.rb
478
+ - lib/marty/relation.rb
479
+ - lib/marty/util.rb
480
+ - lib/marty/util.rb~
481
+ - lib/marty/version.rb
482
+ - lib/marty/version.rb~
483
+ - lib/marty/xl.rb
484
+ - lib/marty/xl.rb~
485
+ - lib/pyxll/README.txt
486
+ - lib/pyxll/README.txt~
487
+ - lib/pyxll/gemini.py
488
+ - lib/pyxll/gemini.py~
489
+ - lib/pyxll/pyxll.cfg
490
+ - lib/pyxll/pyxll.cfg~
491
+ - lib/pyxll/sample.xlsx
492
+ - lib/tasks/marty_tasks.rake
493
+ homepage: https://github.com/arman000/marty
494
+ licenses:
495
+ - MIT
496
+ metadata: {}
497
+ post_install_message:
498
+ rdoc_options: []
499
+ require_paths:
500
+ - lib
501
+ required_ruby_version: !ruby/object:Gem::Requirement
502
+ requirements:
503
+ - - ">="
504
+ - !ruby/object:Gem::Version
505
+ version: '0'
506
+ required_rubygems_version: !ruby/object:Gem::Requirement
507
+ requirements:
508
+ - - ">="
509
+ - !ruby/object:Gem::Version
510
+ version: '0'
511
+ requirements: []
512
+ rubyforge_project:
513
+ rubygems_version: 2.4.8
514
+ signing_key:
515
+ specification_version: 4
516
+ summary: A framework for working with versioned data
517
+ test_files: []