marty 0.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 48826f7964d59aff4018ae9b307c6dae70260a1c
|
|
4
|
+
data.tar.gz: 7e1d795a1dce7b7d59d3d942fff8e038611521a4
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: e6ad62a87e3ff08491af408a941037837c0306e5ea9326ce705015458e054afc630c1eb0d452b6f25e4bbd1343b4c4d18f79fb4d3c2e4189ba9217747697055b
|
|
7
|
+
data.tar.gz: b554240eabf456d57c32cbac53646404907e64eacbed9bc0c6534a08a0f4ee825a3ce3b80b6fa3c560d3586d0681af6be6d977c8a66c403a7b41a56df7505b21
|
data/MIT-LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright 2013-2015 PennyMac Financial Services, Inc.
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Marty
|
|
2
|
+
|
|
3
|
+
Marty is a framework for viewing and reporting on versioned data.
|
|
4
|
+
Marty provides its own scripting environment. Scripts can also be
|
|
5
|
+
verioned. RESTful APIs are provided for accessing and executing
|
|
6
|
+
vesioned scripts.
|
|
7
|
+
|
|
8
|
+
Marty also provides user authentication and session support.
|
|
9
|
+
Currently, only LDAP-based authentication is supported. There's also
|
|
10
|
+
support for role-based authorization.
|
|
11
|
+
|
|
12
|
+
# Rake tasks
|
|
13
|
+
|
|
14
|
+
The Marty framework provides several rake tasks to manage its database tables
|
|
15
|
+
and delorean scripts.
|
|
16
|
+
|
|
17
|
+
To create the correct migrations for a Marty-based applications:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
$ rake marty:install:migrations
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The Marty database needs to be seeded with specific configuration
|
|
24
|
+
information. Before running your Marty application for the first time you will
|
|
25
|
+
need to run:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
$ rake marty:seed
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
If you are using Delorean scripts in your application you can load them
|
|
32
|
+
with a rake task. By default these scripts will be picked up from
|
|
33
|
+
`app/delorean_scripts`. To load scripts:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
$ rake marty:load_scripts
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
You can override the default directory by setting the `LOAD_DIR` environment
|
|
40
|
+
variable:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
$ LOAD_DIR=<delorean script directory> marty:load_scripts
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
To delete scripts:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
$ rake marty:delete_scripts
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
# Testing
|
|
53
|
+
|
|
54
|
+
Make sure that extjs is installed (or symbolically linked) in the
|
|
55
|
+
dummy app at spec/dummy/public.
|
|
56
|
+
|
|
57
|
+
Marty currently only runs with postgresql. To be able to run the tests
|
|
58
|
+
you will first need to create a `database.yml` file in `spec/dummy/config`.
|
|
59
|
+
You can use the example file by doing:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
$ cp spec/dummy/config/database.yml.example spec/dummy/config/database.yml
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
To create the test database in prepartion to run your tests:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
$ RAILS_ENV=test rake db:create db:migrate
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Then to run the tests:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
$ rspec
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
# History & Status
|
|
78
|
+
|
|
79
|
+
Marty was originally part of a much larger project internal to
|
|
80
|
+
PennyMac. We have split Marty from its original home with the goal of
|
|
81
|
+
making it generally available as a platform for working with versioned
|
|
82
|
+
data and scripts. However, some rspec and cucumber tests are still in
|
|
83
|
+
the parent and have yet to be ported. Also, documentation is sorely
|
|
84
|
+
lacking. Hopefully, this will be rectified sometime in 2015.
|
data/Rakefile
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env rake
|
|
2
|
+
begin
|
|
3
|
+
require 'bundler/setup'
|
|
4
|
+
rescue LoadError
|
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
6
|
+
end
|
|
7
|
+
begin
|
|
8
|
+
require 'rdoc/task'
|
|
9
|
+
rescue LoadError
|
|
10
|
+
require 'rdoc/rdoc'
|
|
11
|
+
require 'rake/rdoctask'
|
|
12
|
+
RDoc::Task = Rake::RDocTask
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
16
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
17
|
+
rdoc.title = 'Marty'
|
|
18
|
+
rdoc.options << '--line-numbers'
|
|
19
|
+
rdoc.rdoc_files.include('README.rdoc')
|
|
20
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
|
24
|
+
load 'rails/tasks/engine.rake'
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
Bundler::GemHelper.install_tasks
|
|
29
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
|
2
|
+
// listed below.
|
|
3
|
+
//
|
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
|
6
|
+
//
|
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
|
8
|
+
// the compiled file.
|
|
9
|
+
//
|
|
10
|
+
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
|
11
|
+
// GO AFTER THE REQUIRES BELOW.
|
|
12
|
+
//
|
|
13
|
+
//= require jquery
|
|
14
|
+
//= require jquery_ujs
|
|
15
|
+
//= require_tree .
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
+
* listed below.
|
|
4
|
+
*
|
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
|
7
|
+
*
|
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
|
9
|
+
* compiled file, but it's generally better to create a new file per style scope.
|
|
10
|
+
*
|
|
11
|
+
*= require_self
|
|
12
|
+
*= require_tree .
|
|
13
|
+
*/
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
class Marty::ApiAuthView < Marty::McflyGridPanel
|
|
2
|
+
has_marty_permissions create: :admin,
|
|
3
|
+
read: :any,
|
|
4
|
+
update: :admin,
|
|
5
|
+
delete: :admin
|
|
6
|
+
|
|
7
|
+
def configure(c)
|
|
8
|
+
super
|
|
9
|
+
|
|
10
|
+
c.title = I18n.t('api_auth', default: "API Authorization")
|
|
11
|
+
c.model = "Marty::ApiAuth"
|
|
12
|
+
c.columns = [:app_name, :api_key, :script_name]
|
|
13
|
+
|
|
14
|
+
c.enable_extended_search = false
|
|
15
|
+
|
|
16
|
+
c.data_store.sorters = {property: :app_name, direction: 'ASC'}
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
column :app_name do |c|
|
|
20
|
+
c.flex = 1
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
column :api_key do |c|
|
|
24
|
+
c.flex = 1
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
column :script_name do |c|
|
|
28
|
+
c.flex = 1
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
ApiAuthView = Marty::ApiAuthView
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Basic Marty single-page application with authentication.
|
|
2
|
+
#
|
|
3
|
+
# == Extending Marty::AuthApp
|
|
4
|
+
# DOCFIX
|
|
5
|
+
class Marty::AuthApp < Marty::SimpleApp
|
|
6
|
+
js_configure do |c|
|
|
7
|
+
c.mixin
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Set the Logout button if current_user is set
|
|
11
|
+
def menu
|
|
12
|
+
[].tap do |menu|
|
|
13
|
+
user = Mcfly.whodunnit
|
|
14
|
+
if !user.nil?
|
|
15
|
+
menu << "->" << {
|
|
16
|
+
text: user.name,
|
|
17
|
+
menu: user_menu,
|
|
18
|
+
name: "sign_out",
|
|
19
|
+
}
|
|
20
|
+
else
|
|
21
|
+
menu << "->" << :sign_in
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def user_menu
|
|
27
|
+
[:sign_out]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
action :sign_in do |c|
|
|
31
|
+
c.icon = :door_in
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
action :sign_out do |c|
|
|
35
|
+
c.icon = :door_out
|
|
36
|
+
c.text = "Sign out #{Mcfly.whodunnit.name}" if Mcfly.whodunnit
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
endpoint :sign_in do |params,this|
|
|
40
|
+
user = Marty::User.try_to_login(params[:login], params[:password])
|
|
41
|
+
|
|
42
|
+
if user
|
|
43
|
+
Netzke::Base.controller.set_user(user)
|
|
44
|
+
this.netzke_set_result(true)
|
|
45
|
+
else
|
|
46
|
+
this.netzke_set_result(false)
|
|
47
|
+
this.netzke_feedback("Wrong credentials")
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
endpoint :sign_out do |params,this|
|
|
52
|
+
Netzke::Base.controller.logout_user
|
|
53
|
+
this.netzke_set_result(true)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
class Marty::AuthApp < Marty::SimpleApp
|
|
2
|
+
# Set the Logout button if current_user is set
|
|
3
|
+
def menu
|
|
4
|
+
[].tap do |menu|
|
|
5
|
+
user = Mcfly.whodunnit
|
|
6
|
+
if !user.nil?
|
|
7
|
+
menu << "->" << {
|
|
8
|
+
text: user.name,
|
|
9
|
+
menu: user_menu,
|
|
10
|
+
name: "sign_out",
|
|
11
|
+
}
|
|
12
|
+
else
|
|
13
|
+
menu << "->" << :sign_in
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def user_menu
|
|
19
|
+
[:sign_out]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
action :sign_in do |c|
|
|
23
|
+
c.icon = :door_in
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
action :sign_out do |c|
|
|
27
|
+
c.icon = :door_out
|
|
28
|
+
c.text = "Sign out #{Mcfly.whodunnit.name}" if Mcfly.whodunnit
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
js_configure do |c|
|
|
32
|
+
c.mixin
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
endpoint :sign_in do |params,this|
|
|
36
|
+
user = Marty::User.try_to_login(params[:login], params[:password])
|
|
37
|
+
|
|
38
|
+
if user
|
|
39
|
+
Netzke::Base.controller.set_user(user)
|
|
40
|
+
this.netzke_set_result(true)
|
|
41
|
+
else
|
|
42
|
+
this.netzke_set_result(false)
|
|
43
|
+
this.netzke_feedback("Wrong credentials")
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
endpoint :sign_out do |params,this|
|
|
48
|
+
Netzke::Base.controller.logout_user
|
|
49
|
+
this.netzke_set_result(true)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
onSignIn: function() {
|
|
3
|
+
var me = this;
|
|
4
|
+
this.signinWin = this.signinWin || Ext.create('Ext.Window', {
|
|
5
|
+
width: 300,
|
|
6
|
+
height: 150,
|
|
7
|
+
modal: true,
|
|
8
|
+
layout: 'fit',
|
|
9
|
+
|
|
10
|
+
submit: function() {
|
|
11
|
+
var form = this.items.first();
|
|
12
|
+
var values = form.getForm().getValues();
|
|
13
|
+
|
|
14
|
+
// calling the endpoint
|
|
15
|
+
me.signIn(values, function(res) {
|
|
16
|
+
if (res) {
|
|
17
|
+
if (!me.authSpecMode) { this.signinWin.close(); }
|
|
18
|
+
Ext.Msg.show({
|
|
19
|
+
title: "Signed in",
|
|
20
|
+
msg: "Signed in successfully, reloading...",
|
|
21
|
+
icon: Ext.Msg.INFO,
|
|
22
|
+
closable: false
|
|
23
|
+
});
|
|
24
|
+
if (!me.authSpecMode) { window.location.href = "/"; }
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
closeAction: 'hide',
|
|
30
|
+
title: "Sign in",
|
|
31
|
+
fbar: [
|
|
32
|
+
{
|
|
33
|
+
text: 'OK',
|
|
34
|
+
name: 'signin_submit',
|
|
35
|
+
handler: function() {
|
|
36
|
+
this.up('window').submit();
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
text:'Cancel',
|
|
41
|
+
handler: function() {
|
|
42
|
+
this.up('window').close();
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
|
|
47
|
+
items: {
|
|
48
|
+
xtype: 'form',
|
|
49
|
+
defaultType: 'textfield',
|
|
50
|
+
bodyPadding: '15px 0px 0px 10px',
|
|
51
|
+
defaults: {
|
|
52
|
+
listeners: {
|
|
53
|
+
specialkey: function (field, event) {
|
|
54
|
+
if (event.getKey() == event.ENTER) {
|
|
55
|
+
field.up('window').submit();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
items: [
|
|
61
|
+
{
|
|
62
|
+
fieldLabel: 'Login',
|
|
63
|
+
name: 'login',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
fieldLabel: 'Password',
|
|
67
|
+
name: 'password',
|
|
68
|
+
inputType: 'password',
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
this.signinWin.show();
|
|
75
|
+
this.signinWin.down('textfield').focus(false, 100);
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
onSignOut: function() {
|
|
79
|
+
this.signOut(null, function(success) {
|
|
80
|
+
if (success) {
|
|
81
|
+
Ext.Msg.show({
|
|
82
|
+
title: "Signed out",
|
|
83
|
+
msg: "Signed out, reloading the application...",
|
|
84
|
+
icon: Ext.Msg.INFO,
|
|
85
|
+
closable: false
|
|
86
|
+
});
|
|
87
|
+
window.location.href = "/";
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
onSignIn: function() {
|
|
3
|
+
var me = this;
|
|
4
|
+
this.signinWin = this.signinWin || Ext.create('Ext.Window', {
|
|
5
|
+
width: 300,
|
|
6
|
+
height: 150,
|
|
7
|
+
modal: true,
|
|
8
|
+
layout: 'fit',
|
|
9
|
+
|
|
10
|
+
submit: function() {
|
|
11
|
+
var form = this.items.first();
|
|
12
|
+
var values = form.getForm().getValues();
|
|
13
|
+
|
|
14
|
+
// calling the endpoint
|
|
15
|
+
me.signIn(values, function(res) {
|
|
16
|
+
if (res) {
|
|
17
|
+
this.signinWin.close();
|
|
18
|
+
Ext.Msg.show({
|
|
19
|
+
title: "Signed in",
|
|
20
|
+
msg: "Signed in successfully, reloading...",
|
|
21
|
+
icon: Ext.Msg.INFO,
|
|
22
|
+
closable: false
|
|
23
|
+
});
|
|
24
|
+
window.location.href = "/";
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
closeAction: 'hide',
|
|
30
|
+
title: "Sign in",
|
|
31
|
+
fbar: [
|
|
32
|
+
{
|
|
33
|
+
text: 'OK',
|
|
34
|
+
name: 'signin_submit',
|
|
35
|
+
handler: function() {
|
|
36
|
+
this.up('window').submit();
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
text:'Cancel',
|
|
41
|
+
handler: function() {
|
|
42
|
+
this.up('window').close();
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
|
|
47
|
+
items: {
|
|
48
|
+
xtype: 'form',
|
|
49
|
+
defaultType: 'textfield',
|
|
50
|
+
bodyPadding: '15px 0px 0px 10px',
|
|
51
|
+
defaults: {
|
|
52
|
+
listeners: {
|
|
53
|
+
specialkey: function (field, event) {
|
|
54
|
+
if (event.getKey() == event.ENTER) {
|
|
55
|
+
field.up('window').submit();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
items: [
|
|
61
|
+
{
|
|
62
|
+
fieldLabel: 'Login',
|
|
63
|
+
name: 'login',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
fieldLabel: 'Password',
|
|
67
|
+
name: 'password',
|
|
68
|
+
inputType: 'password',
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
this.signinWin.show();
|
|
75
|
+
this.signinWin.down('textfield').focus(false, 100);
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
onSignOut: function() {
|
|
79
|
+
this.signOut(null, function(success) {
|
|
80
|
+
if (success) {
|
|
81
|
+
Ext.Msg.show({
|
|
82
|
+
title: "Signed out",
|
|
83
|
+
msg: "Signed out, reloading the application...",
|
|
84
|
+
icon: Ext.Msg.INFO,
|
|
85
|
+
closable: false
|
|
86
|
+
});
|
|
87
|
+
window.location.href = "/";
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
|
+
}
|