marty 0.5.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +84 -0
- data/Rakefile +29 -0
- data/app/assets/javascripts/marty/application.js +15 -0
- data/app/assets/stylesheets/marty/application.css +13 -0
- data/app/components/marty/api_auth_view.rb +32 -0
- data/app/components/marty/auth_app.rb +55 -0
- data/app/components/marty/auth_app.rb~ +51 -0
- data/app/components/marty/auth_app/javascripts/auth_app.js +91 -0
- data/app/components/marty/auth_app/javascripts/auth_app.js~ +91 -0
- data/app/components/marty/cm_form_panel.rb~ +5 -0
- data/app/components/marty/cm_grid_panel.rb~ +35 -0
- data/app/components/marty/data_import_view.rb~ +142 -0
- data/app/components/marty/extras/layout.rb +46 -0
- data/app/components/marty/extras/layout.rb~ +46 -0
- data/app/components/marty/extras/misc.rb +18 -0
- data/app/components/marty/form.rb +6 -0
- data/app/components/marty/grid.rb +45 -0
- data/app/components/marty/grid_append_only.rb +12 -0
- data/app/components/marty/import_type_view.rb +53 -0
- data/app/components/marty/live_search_grid_panel.rb +46 -0
- data/app/components/marty/live_search_grid_panel.rb~ +49 -0
- data/app/components/marty/main_auth_app.rb +269 -0
- data/app/components/marty/main_auth_app.rb~ +238 -0
- data/app/components/marty/mcfly_grid_panel.rb +62 -0
- data/app/components/marty/mcfly_grid_panel.rb~ +80 -0
- data/app/components/marty/new_posting_form.rb +46 -0
- data/app/components/marty/new_posting_form.rb~ +46 -0
- data/app/components/marty/new_posting_window.rb +21 -0
- data/app/components/marty/new_posting_window.rb~ +21 -0
- data/app/components/marty/panel.rb +12 -0
- data/app/components/marty/pivot_grid.rb +52 -0
- data/app/components/marty/pivot_grid/endpoints.rb +45 -0
- data/app/components/marty/pivot_grid/javascripts/extensions.js +150 -0
- data/app/components/marty/pivot_grid/javascripts/pivot_grid.js +86 -0
- data/app/components/marty/pivot_grid/services.rb +44 -0
- data/app/components/marty/posting_grid.rb +139 -0
- data/app/components/marty/posting_grid.rb~ +140 -0
- data/app/components/marty/posting_window.rb +27 -0
- data/app/components/marty/promise_view.rb +177 -0
- data/app/components/marty/promise_view.rb~ +157 -0
- data/app/components/marty/promise_view/stylesheets/promise_view.css +26 -0
- data/app/components/marty/promise_view/stylesheets/promise_view.css~ +15 -0
- data/app/components/marty/report_form.rb +225 -0
- data/app/components/marty/report_form.rb~ +217 -0
- data/app/components/marty/report_select.rb +145 -0
- data/app/components/marty/report_select.rb~ +133 -0
- data/app/components/marty/reporting.rb +39 -0
- data/app/components/marty/reporting.rb~ +39 -0
- data/app/components/marty/script_detail.rb~ +430 -0
- data/app/components/marty/script_form.rb +233 -0
- data/app/components/marty/script_form.rb~ +233 -0
- data/app/components/marty/script_form/javascripts/Ext.ux.form.field.CodeMirror.js +698 -0
- data/app/components/marty/script_form/javascripts/Ext.ux.form.field.CodeMirror.js~ +909 -0
- data/app/components/marty/script_form/javascripts/codemirror.js +3130 -0
- data/app/components/marty/script_form/javascripts/mode/clike/clike.js +284 -0
- data/app/components/marty/script_form/javascripts/mode/clike/index.html +102 -0
- data/app/components/marty/script_form/javascripts/mode/clike/scala.html +766 -0
- data/app/components/marty/script_form/javascripts/mode/clojure/clojure.js +206 -0
- data/app/components/marty/script_form/javascripts/mode/clojure/index.html +67 -0
- data/app/components/marty/script_form/javascripts/mode/coffeescript/LICENSE +22 -0
- data/app/components/marty/script_form/javascripts/mode/coffeescript/coffeescript.js +346 -0
- data/app/components/marty/script_form/javascripts/mode/coffeescript/index.html +728 -0
- data/app/components/marty/script_form/javascripts/mode/commonlisp/commonlisp.js +101 -0
- data/app/components/marty/script_form/javascripts/mode/commonlisp/index.html +165 -0
- data/app/components/marty/script_form/javascripts/mode/css/css.js +448 -0
- data/app/components/marty/script_form/javascripts/mode/css/index.html +58 -0
- data/app/components/marty/script_form/javascripts/mode/css/test.js +501 -0
- data/app/components/marty/script_form/javascripts/mode/delorean/delorean.js +189 -0
- data/app/components/marty/script_form/javascripts/mode/diff/diff.js +32 -0
- data/app/components/marty/script_form/javascripts/mode/diff/index.html +105 -0
- data/app/components/marty/script_form/javascripts/mode/ecl/ecl.js +203 -0
- data/app/components/marty/script_form/javascripts/mode/ecl/index.html +42 -0
- data/app/components/marty/script_form/javascripts/mode/erlang/erlang.js +463 -0
- data/app/components/marty/script_form/javascripts/mode/erlang/index.html +63 -0
- data/app/components/marty/script_form/javascripts/mode/gfm/gfm.js +150 -0
- data/app/components/marty/script_form/javascripts/mode/gfm/index.html +48 -0
- data/app/components/marty/script_form/javascripts/mode/go/go.js +170 -0
- data/app/components/marty/script_form/javascripts/mode/go/index.html +73 -0
- data/app/components/marty/script_form/javascripts/mode/groovy/groovy.js +210 -0
- data/app/components/marty/script_form/javascripts/mode/groovy/index.html +72 -0
- data/app/components/marty/script_form/javascripts/mode/haskell/haskell.js +242 -0
- data/app/components/marty/script_form/javascripts/mode/haskell/index.html +61 -0
- data/app/components/marty/script_form/javascripts/mode/haxe/haxe.js +429 -0
- data/app/components/marty/script_form/javascripts/mode/haxe/index.html +91 -0
- data/app/components/marty/script_form/javascripts/mode/htmlembedded/htmlembedded.js +72 -0
- data/app/components/marty/script_form/javascripts/mode/htmlembedded/index.html +50 -0
- data/app/components/marty/script_form/javascripts/mode/htmlmixed/htmlmixed.js +84 -0
- data/app/components/marty/script_form/javascripts/mode/htmlmixed/index.html +52 -0
- data/app/components/marty/script_form/javascripts/mode/javascript/index.html +78 -0
- data/app/components/marty/script_form/javascripts/mode/javascript/javascript.js +361 -0
- data/app/components/marty/script_form/javascripts/mode/jinja2/index.html +38 -0
- data/app/components/marty/script_form/javascripts/mode/jinja2/jinja2.js +42 -0
- data/app/components/marty/script_form/javascripts/mode/less/index.html +740 -0
- data/app/components/marty/script_form/javascripts/mode/less/less.js +266 -0
- data/app/components/marty/script_form/javascripts/mode/lua/index.html +73 -0
- data/app/components/marty/script_form/javascripts/mode/lua/lua.js +140 -0
- data/app/components/marty/script_form/javascripts/mode/markdown/index.html +343 -0
- data/app/components/marty/script_form/javascripts/mode/markdown/markdown.js +382 -0
- data/app/components/marty/script_form/javascripts/mode/markdown/test.js +1084 -0
- data/app/components/marty/script_form/javascripts/mode/mysql/index.html +42 -0
- data/app/components/marty/script_form/javascripts/mode/mysql/mysql.js +186 -0
- data/app/components/marty/script_form/javascripts/mode/ntriples/index.html +33 -0
- data/app/components/marty/script_form/javascripts/mode/ntriples/ntriples.js +172 -0
- data/app/components/marty/script_form/javascripts/mode/ocaml/index.html +130 -0
- data/app/components/marty/script_form/javascripts/mode/ocaml/ocaml.js +114 -0
- data/app/components/marty/script_form/javascripts/mode/pascal/LICENSE +7 -0
- data/app/components/marty/script_form/javascripts/mode/pascal/index.html +49 -0
- data/app/components/marty/script_form/javascripts/mode/pascal/pascal.js +94 -0
- data/app/components/marty/script_form/javascripts/mode/perl/LICENSE +19 -0
- data/app/components/marty/script_form/javascripts/mode/perl/index.html +63 -0
- data/app/components/marty/script_form/javascripts/mode/perl/perl.js +816 -0
- data/app/components/marty/script_form/javascripts/mode/php/index.html +49 -0
- data/app/components/marty/script_form/javascripts/mode/php/php.js +148 -0
- data/app/components/marty/script_form/javascripts/mode/pig/index.html +43 -0
- data/app/components/marty/script_form/javascripts/mode/pig/pig.js +172 -0
- data/app/components/marty/script_form/javascripts/mode/plsql/index.html +63 -0
- data/app/components/marty/script_form/javascripts/mode/plsql/plsql.js +217 -0
- data/app/components/marty/script_form/javascripts/mode/properties/index.html +41 -0
- data/app/components/marty/script_form/javascripts/mode/properties/properties.js +63 -0
- data/app/components/marty/script_form/javascripts/mode/python/LICENSE.txt +21 -0
- data/app/components/marty/script_form/javascripts/mode/python/index.html +123 -0
- data/app/components/marty/script_form/javascripts/mode/python/python.js +338 -0
- data/app/components/marty/script_form/javascripts/mode/r/LICENSE +24 -0
- data/app/components/marty/script_form/javascripts/mode/r/index.html +74 -0
- data/app/components/marty/script_form/javascripts/mode/r/r.js +141 -0
- data/app/components/marty/script_form/javascripts/mode/rpm/changes/changes.js +19 -0
- data/app/components/marty/script_form/javascripts/mode/rpm/changes/index.html +54 -0
- data/app/components/marty/script_form/javascripts/mode/rpm/spec/index.html +100 -0
- data/app/components/marty/script_form/javascripts/mode/rpm/spec/spec.css +5 -0
- data/app/components/marty/script_form/javascripts/mode/rpm/spec/spec.js +66 -0
- data/app/components/marty/script_form/javascripts/mode/rst/index.html +526 -0
- data/app/components/marty/script_form/javascripts/mode/rst/rst.js +326 -0
- data/app/components/marty/script_form/javascripts/mode/ruby/LICENSE +24 -0
- data/app/components/marty/script_form/javascripts/mode/ruby/index.html +172 -0
- data/app/components/marty/script_form/javascripts/mode/ruby/ruby.js +195 -0
- data/app/components/marty/script_form/javascripts/mode/rust/index.html +49 -0
- data/app/components/marty/script_form/javascripts/mode/rust/rust.js +432 -0
- data/app/components/marty/script_form/javascripts/mode/scheme/index.html +65 -0
- data/app/components/marty/script_form/javascripts/mode/scheme/scheme.js +230 -0
- data/app/components/marty/script_form/javascripts/mode/shell/index.html +50 -0
- data/app/components/marty/script_form/javascripts/mode/shell/shell.js +118 -0
- data/app/components/marty/script_form/javascripts/mode/sieve/LICENSE +23 -0
- data/app/components/marty/script_form/javascripts/mode/sieve/index.html +81 -0
- data/app/components/marty/script_form/javascripts/mode/sieve/sieve.js +156 -0
- data/app/components/marty/script_form/javascripts/mode/smalltalk/index.html +56 -0
- data/app/components/marty/script_form/javascripts/mode/smalltalk/smalltalk.js +139 -0
- data/app/components/marty/script_form/javascripts/mode/smarty/index.html +83 -0
- data/app/components/marty/script_form/javascripts/mode/smarty/smarty.js +148 -0
- data/app/components/marty/script_form/javascripts/mode/sparql/index.html +41 -0
- data/app/components/marty/script_form/javascripts/mode/sparql/sparql.js +143 -0
- data/app/components/marty/script_form/javascripts/mode/stex/index.html +98 -0
- data/app/components/marty/script_form/javascripts/mode/stex/stex.js +182 -0
- data/app/components/marty/script_form/javascripts/mode/stex/test.js +343 -0
- data/app/components/marty/script_form/javascripts/mode/tiddlywiki/index.html +141 -0
- data/app/components/marty/script_form/javascripts/mode/tiddlywiki/tiddlywiki.css +14 -0
- data/app/components/marty/script_form/javascripts/mode/tiddlywiki/tiddlywiki.js +384 -0
- data/app/components/marty/script_form/javascripts/mode/tiki/index.html +83 -0
- data/app/components/marty/script_form/javascripts/mode/tiki/tiki.css +26 -0
- data/app/components/marty/script_form/javascripts/mode/tiki/tiki.js +309 -0
- data/app/components/marty/script_form/javascripts/mode/vb/LICENSE.txt +21 -0
- data/app/components/marty/script_form/javascripts/mode/vb/index.html +89 -0
- data/app/components/marty/script_form/javascripts/mode/vb/vb.js +260 -0
- data/app/components/marty/script_form/javascripts/mode/vbscript/index.html +43 -0
- data/app/components/marty/script_form/javascripts/mode/vbscript/vbscript.js +26 -0
- data/app/components/marty/script_form/javascripts/mode/velocity/index.html +104 -0
- data/app/components/marty/script_form/javascripts/mode/velocity/velocity.js +146 -0
- data/app/components/marty/script_form/javascripts/mode/verilog/index.html +211 -0
- data/app/components/marty/script_form/javascripts/mode/verilog/verilog.js +194 -0
- data/app/components/marty/script_form/javascripts/mode/xml/index.html +45 -0
- data/app/components/marty/script_form/javascripts/mode/xml/xml.js +318 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/LICENSE +20 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/index.html +223 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/test/index.html +27 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/test/testBase.js +42 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/test/testEmptySequenceKeyword.js +16 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/test/testMultiAttr.js +16 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/test/testNamespaces.js +91 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/test/testProcessingInstructions.js +16 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/test/testQuotes.js +19 -0
- data/app/components/marty/script_form/javascripts/mode/xquery/xquery.js +451 -0
- data/app/components/marty/script_form/javascripts/mode/yaml/index.html +68 -0
- data/app/components/marty/script_form/javascripts/mode/yaml/yaml.js +95 -0
- data/app/components/marty/script_form/javascripts/util/closetag.js +164 -0
- data/app/components/marty/script_form/javascripts/util/dialog.css +27 -0
- data/app/components/marty/script_form/javascripts/util/dialog.js +70 -0
- data/app/components/marty/script_form/javascripts/util/foldcode.js +196 -0
- data/app/components/marty/script_form/javascripts/util/formatting.js +193 -0
- data/app/components/marty/script_form/javascripts/util/javascript-hint.js +134 -0
- data/app/components/marty/script_form/javascripts/util/loadmode.js +51 -0
- data/app/components/marty/script_form/javascripts/util/match-highlighter.js +44 -0
- data/app/components/marty/script_form/javascripts/util/multiplex.js +77 -0
- data/app/components/marty/script_form/javascripts/util/overlay.js +54 -0
- data/app/components/marty/script_form/javascripts/util/pig-hint.js +123 -0
- data/app/components/marty/script_form/javascripts/util/runmode-standalone.js +90 -0
- data/app/components/marty/script_form/javascripts/util/runmode.js +53 -0
- data/app/components/marty/script_form/javascripts/util/search.js +118 -0
- data/app/components/marty/script_form/javascripts/util/searchcursor.js +119 -0
- data/app/components/marty/script_form/javascripts/util/simple-hint.css +16 -0
- data/app/components/marty/script_form/javascripts/util/simple-hint.js +97 -0
- data/app/components/marty/script_form/javascripts/util/xml-hint.js +137 -0
- data/app/components/marty/script_form/stylesheets/codemirror.css +172 -0
- data/app/components/marty/script_form/stylesheets/delorean.css +10 -0
- data/app/components/marty/script_form/stylesheets/theme/ambiance.css +81 -0
- data/app/components/marty/script_form/stylesheets/theme/blackboard.css +25 -0
- data/app/components/marty/script_form/stylesheets/theme/cobalt.css +18 -0
- data/app/components/marty/script_form/stylesheets/theme/eclipse.css +25 -0
- data/app/components/marty/script_form/stylesheets/theme/elegant.css +10 -0
- data/app/components/marty/script_form/stylesheets/theme/erlang-dark.css +21 -0
- data/app/components/marty/script_form/stylesheets/theme/lesser-dark.css +44 -0
- data/app/components/marty/script_form/stylesheets/theme/monokai.css +28 -0
- data/app/components/marty/script_form/stylesheets/theme/neat.css +9 -0
- data/app/components/marty/script_form/stylesheets/theme/night.css +21 -0
- data/app/components/marty/script_form/stylesheets/theme/rubyblue.css +21 -0
- data/app/components/marty/script_form/stylesheets/theme/vibrant-ink.css +27 -0
- data/app/components/marty/script_form/stylesheets/theme/xq-dark.css +46 -0
- data/app/components/marty/script_grid.rb +104 -0
- data/app/components/marty/script_grid.rb~ +99 -0
- data/app/components/marty/script_tester.rb +114 -0
- data/app/components/marty/script_tester.rb~ +213 -0
- data/app/components/marty/scripting.rb +132 -0
- data/app/components/marty/scripting.rb~ +124 -0
- data/app/components/marty/select_report.rb~ +143 -0
- data/app/components/marty/simple_app.rb +97 -0
- data/app/components/marty/simple_app.rb~ +101 -0
- data/app/components/marty/simple_app/javascripts/simple_app.js +50 -0
- data/app/components/marty/simple_app/javascripts/statusbar_ext.js +8 -0
- data/app/components/marty/tag_grid.rb +83 -0
- data/app/components/marty/tag_grid.rb~ +89 -0
- data/app/components/marty/tree_panel.rb~ +256 -0
- data/app/components/marty/tree_panel/javascripts/tree_panel.js~ +317 -0
- data/app/components/marty/user_pivot.rb +128 -0
- data/app/components/marty/user_view.rb +181 -0
- data/app/components/marty/user_view.rb~ +188 -0
- data/app/controllers/marty/application_controller.rb +124 -0
- data/app/controllers/marty/application_controller.rb~ +133 -0
- data/app/controllers/marty/components_controller.rb +41 -0
- data/app/controllers/marty/components_controller.rb~ +37 -0
- data/app/controllers/marty/job_controller.rb +28 -0
- data/app/controllers/marty/job_controller.rb~ +28 -0
- data/app/controllers/marty/rpc_controller.rb +64 -0
- data/app/controllers/marty/rpc_controller.rb~ +61 -0
- data/app/helpers/marty/application_helper.rb +4 -0
- data/app/helpers/marty/script_set.rb +57 -0
- data/app/helpers/marty/script_set.rb~ +59 -0
- data/app/models/marty/api_auth.rb +44 -0
- data/app/models/marty/api_auth.rb~ +48 -0
- data/app/models/marty/base.rb +4 -0
- data/app/models/marty/data_change.rb +179 -0
- data/app/models/marty/data_change.rb~ +141 -0
- data/app/models/marty/enum.rb +22 -0
- data/app/models/marty/enum.rb~ +16 -0
- data/app/models/marty/import_type.rb +44 -0
- data/app/models/marty/import_type.rb~ +48 -0
- data/app/models/marty/poop.rb~ +169 -0
- data/app/models/marty/posting.rb +101 -0
- data/app/models/marty/posting.rb~ +86 -0
- data/app/models/marty/posting_type.rb +12 -0
- data/app/models/marty/posting_type.rb~ +21 -0
- data/app/models/marty/promise.rb +252 -0
- data/app/models/marty/promise.rb~ +196 -0
- data/app/models/marty/role.rb +6 -0
- data/app/models/marty/role.rb~ +10 -0
- data/app/models/marty/script.rb +144 -0
- data/app/models/marty/script.rb~ +62 -0
- data/app/models/marty/tag.rb +96 -0
- data/app/models/marty/tag.rb~ +91 -0
- data/app/models/marty/token.rb +30 -0
- data/app/models/marty/user.rb +146 -0
- data/app/models/marty/user.rb~ +148 -0
- data/app/models/marty/user_role.rb +7 -0
- data/app/models/marty/user_role.rb~ +13 -0
- data/app/views/layouts/marty/application.html.erb +12 -0
- data/app/views/layouts/marty/application.html.erb~ +11 -0
- data/config/locales/en.yml +134 -0
- data/config/routes.rb +6 -0
- data/config/routes.rb~ +10 -0
- data/db/migrate/001_create_marty_scripts.rb +14 -0
- data/db/migrate/003_create_marty_users.rb +12 -0
- data/db/migrate/004_create_marty_roles.rb +7 -0
- data/db/migrate/005_create_marty_user_roles.rb +14 -0
- data/db/migrate/006_create_marty_tokens.rb +14 -0
- data/db/migrate/008_create_marty_posting_types.rb +7 -0
- data/db/migrate/019_create_marty_postings.rb +18 -0
- data/db/migrate/019_create_marty_postings.rb~ +19 -0
- data/db/migrate/068_create_marty_import_types.rb +12 -0
- data/db/migrate/069_create_marty_import_synonyms.rb +15 -0
- data/db/migrate/070_create_versions.rb +18 -0
- data/db/migrate/071_add_object_changes_column_to_versions.rb +9 -0
- data/db/migrate/072_add_validation_function_to_import_types.rb +6 -0
- data/db/migrate/073_add_preprocess_function_to_import_types.rb +5 -0
- data/db/migrate/090_create_delayed_jobs.rb +22 -0
- data/db/migrate/091_create_marty_promises.rb +36 -0
- data/db/migrate/095_create_marty_tags.rb +14 -0
- data/db/migrate/095_create_marty_tags.rb~ +19 -0
- data/db/migrate/096_add_user_roles_to_import_types.rb +11 -0
- data/db/migrate/097_drop_versions.rb +9 -0
- data/db/migrate/098_create_marty_api_auths.rb +20 -0
- data/db/seeds.rb +48 -0
- data/lib/marty.rb +18 -0
- data/lib/marty.rb~ +13 -0
- data/lib/marty/content_handler.rb +97 -0
- data/lib/marty/content_handler.rb~ +93 -0
- data/lib/marty/data_conversion.rb +298 -0
- data/lib/marty/data_exporter.rb +150 -0
- data/lib/marty/data_exporter.rb~ +137 -0
- data/lib/marty/data_importer.rb +122 -0
- data/lib/marty/data_importer.rb~ +114 -0
- data/lib/marty/data_row_processor.rb~ +206 -0
- data/lib/marty/drop_folder_hook.rb~ +17 -0
- data/lib/marty/engine.rb +10 -0
- data/lib/marty/folder_hook.rb~ +9 -0
- data/lib/marty/lazy_column_loader.rb +57 -0
- data/lib/marty/lazy_column_loader.rb~ +47 -0
- data/lib/marty/mcfly_query.rb +189 -0
- data/lib/marty/mcfly_query.rb~ +188 -0
- data/lib/marty/migrations.rb +108 -0
- data/lib/marty/migrations.rb~ +65 -0
- data/lib/marty/monkey.rb +163 -0
- data/lib/marty/monkey.rb~ +160 -0
- data/lib/marty/permissions.rb +64 -0
- data/lib/marty/permissions.rb~ +69 -0
- data/lib/marty/promise.rb~ +41 -0
- data/lib/marty/promise_job.rb +123 -0
- data/lib/marty/promise_job.rb~ +121 -0
- data/lib/marty/promise_proxy.rb +94 -0
- data/lib/marty/promise_proxy.rb~ +69 -0
- data/lib/marty/railtie.rb +5 -0
- data/lib/marty/relation.rb +39 -0
- data/lib/marty/util.rb +110 -0
- data/lib/marty/util.rb~ +80 -0
- data/lib/marty/version.rb +3 -0
- data/lib/marty/version.rb~ +3 -0
- data/lib/marty/xl.rb +527 -0
- data/lib/marty/xl.rb~ +526 -0
- data/lib/pyxll/README.txt +19 -0
- data/lib/pyxll/README.txt~ +16 -0
- data/lib/pyxll/gemini.py +155 -0
- data/lib/pyxll/gemini.py~ +110 -0
- data/lib/pyxll/pyxll.cfg +12 -0
- data/lib/pyxll/pyxll.cfg~ +12 -0
- data/lib/pyxll/sample.xlsx +0 -0
- data/lib/tasks/marty_tasks.rake +37 -0
- 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.
|
data/lib/pyxll/gemini.py
ADDED
@@ -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,))
|
data/lib/pyxll/pyxll.cfg
ADDED
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: []
|