aleph_analytics 0.0.0.alpha
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +0 -0
- data/Gemfile +70 -0
- data/Gemfile.lock +489 -0
- data/LICENSE +21 -0
- data/Procfile +2 -0
- data/README.md +1 -0
- data/ROADMAP.md +7 -0
- data/Rakefile +9 -0
- data/app/assets/fonts/octicons-local.ttf +0 -0
- data/app/assets/fonts/octicons.eot +0 -0
- data/app/assets/fonts/octicons.svg +183 -0
- data/app/assets/fonts/octicons.ttf +0 -0
- data/app/assets/fonts/octicons.woff +0 -0
- data/app/assets/javascripts/angular/aleph.js.es6 +90 -0
- data/app/assets/javascripts/angular/config/schema_completer_config.js.es6 +71 -0
- data/app/assets/javascripts/angular/controllers/alerts/alert_index_controller.js.es6 +16 -0
- data/app/assets/javascripts/angular/controllers/alerts/alert_show_controller.js.es6 +99 -0
- data/app/assets/javascripts/angular/controllers/controllers.js.es6 +65 -0
- data/app/assets/javascripts/angular/controllers/query/query_index_controller.js.es6 +80 -0
- data/app/assets/javascripts/angular/controllers/query/query_repl_controller.js.es6 +147 -0
- data/app/assets/javascripts/angular/controllers/query/query_show_controller.js.es6 +43 -0
- data/app/assets/javascripts/angular/controllers/schema/schema_index_controller.js.es6 +61 -0
- data/app/assets/javascripts/angular/controllers/snippet/snippet_index_controller.js.es6 +80 -0
- data/app/assets/javascripts/angular/directives/directives.js.es6 +30 -0
- data/app/assets/javascripts/angular/directives/query/query_details_directive.js.es6 +87 -0
- data/app/assets/javascripts/angular/directives/query/query_version_sidebar_directive.js.es6 +65 -0
- data/app/assets/javascripts/angular/directives/result/result_directive.js.es6 +59 -0
- data/app/assets/javascripts/angular/directives/result/results_directive.js.es6 +30 -0
- data/app/assets/javascripts/angular/directives/visualization_directive.js.es6 +101 -0
- data/app/assets/javascripts/angular/filters/filters.js.es6 +27 -0
- data/app/assets/javascripts/angular/services/alert/alert.js.es6 +51 -0
- data/app/assets/javascripts/angular/services/alert/alert_resource.js.es6 +10 -0
- data/app/assets/javascripts/angular/services/lib/ace_completers.js.es6 +29 -0
- data/app/assets/javascripts/angular/services/lib/ace_sql_parse.js.es6 +156 -0
- data/app/assets/javascripts/angular/services/lib/action_handler.js.es6 +73 -0
- data/app/assets/javascripts/angular/services/lib/alert_flash.js.es6 +30 -0
- data/app/assets/javascripts/angular/services/lib/default_ace_configurator_service.js.es6 +74 -0
- data/app/assets/javascripts/angular/services/lib/github_url_service.js.es6 +53 -0
- data/app/assets/javascripts/angular/services/lib/keyword_completer.js.es6 +36 -0
- data/app/assets/javascripts/angular/services/lib/local_resource.js.es6 +20 -0
- data/app/assets/javascripts/angular/services/lib/lock_service.js.es6 +48 -0
- data/app/assets/javascripts/angular/services/lib/locking_poll_service.js.es6 +42 -0
- data/app/assets/javascripts/angular/services/lib/matcher_runner.js.es6 +65 -0
- data/app/assets/javascripts/angular/services/lib/navigation_guard.js.es6 +45 -0
- data/app/assets/javascripts/angular/services/lib/open_repl_service.js.es6 +56 -0
- data/app/assets/javascripts/angular/services/lib/page_title_manager.js.es6 +38 -0
- data/app/assets/javascripts/angular/services/lib/pagination.js.es6 +114 -0
- data/app/assets/javascripts/angular/services/lib/pagination_components.js.es6 +91 -0
- data/app/assets/javascripts/angular/services/lib/parameter_methods.js.es6 +35 -0
- data/app/assets/javascripts/angular/services/lib/role_model.js.es6 +21 -0
- data/app/assets/javascripts/angular/services/lib/schema_completer.js.es6 +56 -0
- data/app/assets/javascripts/angular/services/lib/selection_tag_input.js.es6 +42 -0
- data/app/assets/javascripts/angular/services/lib/server_configurations.js.es6 +15 -0
- data/app/assets/javascripts/angular/services/lib/spinner_state.js.es6 +45 -0
- data/app/assets/javascripts/angular/services/lib/tag_resource.js.es6 +14 -0
- data/app/assets/javascripts/angular/services/model/collection_dirty_awareness.js.es6 +33 -0
- data/app/assets/javascripts/angular/services/model/collection_model_base.js.es6 +75 -0
- data/app/assets/javascripts/angular/services/model/dirty_aware_collection_model.js.es6 +31 -0
- data/app/assets/javascripts/angular/services/model/dirty_aware_model.js.es6 +50 -0
- data/app/assets/javascripts/angular/services/model/model_base.js.es6 +80 -0
- data/app/assets/javascripts/angular/services/model/model_state.js.es6 +51 -0
- data/app/assets/javascripts/angular/services/model/models.js.es6 +15 -0
- data/app/assets/javascripts/angular/services/model/unpersisted_model.js.es6 +20 -0
- data/app/assets/javascripts/angular/services/model_generation/model_factory.js.es6 +28 -0
- data/app/assets/javascripts/angular/services/model_generation/model_generation.js.es6 +13 -0
- data/app/assets/javascripts/angular/services/model_generation/model_manager.js.es6 +86 -0
- data/app/assets/javascripts/angular/services/model_generation/resource_factory.js.es6 +38 -0
- data/app/assets/javascripts/angular/services/model_generation/standard_collection_model.js.es6 +25 -0
- data/app/assets/javascripts/angular/services/model_generation/standard_model.js.es6 +38 -0
- data/app/assets/javascripts/angular/services/query/query.js.es6 +55 -0
- data/app/assets/javascripts/angular/services/query/query_handler.js.es6 +40 -0
- data/app/assets/javascripts/angular/services/query/query_loader.js.es6 +54 -0
- data/app/assets/javascripts/angular/services/query/query_request_transformers.js.es6 +26 -0
- data/app/assets/javascripts/angular/services/query/query_resource.js.es6 +21 -0
- data/app/assets/javascripts/angular/services/query/query_tab.js.es6 +63 -0
- data/app/assets/javascripts/angular/services/query/query_versions.js.es6 +21 -0
- data/app/assets/javascripts/angular/services/result/result.js.es6 +26 -0
- data/app/assets/javascripts/angular/services/result/result_poller.js.es6 +30 -0
- data/app/assets/javascripts/angular/services/result/result_runner.js.es6 +48 -0
- data/app/assets/javascripts/angular/services/result/results.js.es6 +10 -0
- data/app/assets/javascripts/angular/services/schema/schema_column.js.es6 +93 -0
- data/app/assets/javascripts/angular/services/schema/schema_column_resource.js.es6 +12 -0
- data/app/assets/javascripts/angular/services/schema/schema_columns.js.es6 +57 -0
- data/app/assets/javascripts/angular/services/schema/schema_comment_resource.js.es6 +12 -0
- data/app/assets/javascripts/angular/services/services.js.es6 +140 -0
- data/app/assets/javascripts/angular/services/snippet/ace_snippet_manager.js.es6 +44 -0
- data/app/assets/javascripts/angular/services/visualization/source_renderer.js.es6 +70 -0
- data/app/assets/javascripts/angular/services/visualization/visualization.js.es6 +47 -0
- data/app/assets/javascripts/angular/services/visualization/visualization_service.js.es6 +67 -0
- data/app/assets/javascripts/angular/services/visualization/visualizations.js.es6 +11 -0
- data/app/assets/javascripts/application.js +22 -0
- data/app/assets/javascripts/lib/key_binding.js +24 -0
- data/app/assets/javascripts/lib/serialized_storage.js +11 -0
- data/app/assets/javascripts/lib/underscore_contrib/array_builders.js +190 -0
- data/app/assets/javascripts/lib/underscore_contrib/function_predicates.js +95 -0
- data/app/assets/javascripts/lib/underscore_contrib/object_builders.js +111 -0
- data/app/assets/javascripts/lib/underscore_contrib/object_selectors.js +112 -0
- data/app/assets/javascripts/lib/underscore_contrib/util_existential.js +15 -0
- data/app/assets/javascripts/lib/utils.js +29 -0
- data/app/assets/stylesheets/alert_bar.css.sass +13 -0
- data/app/assets/stylesheets/alerts.css.sass +66 -0
- data/app/assets/stylesheets/application.css.sass +35 -0
- data/app/assets/stylesheets/comments.css.sass +7 -0
- data/app/assets/stylesheets/index_components.css.sass +105 -0
- data/app/assets/stylesheets/queries.css.sass +110 -0
- data/app/assets/stylesheets/repl.css.sass +59 -0
- data/app/assets/stylesheets/results.css.sass +25 -0
- data/app/assets/stylesheets/schemas.css.sass +56 -0
- data/app/assets/stylesheets/sessions.css.sass +9 -0
- data/app/assets/stylesheets/shared.css.sass +157 -0
- data/app/assets/stylesheets/sidebar.css.sass +85 -0
- data/app/assets/stylesheets/snippets.css.sass +15 -0
- data/app/assets/stylesheets/sort_bar.css.sass +10 -0
- data/app/assets/stylesheets/spinners.css.sass +67 -0
- data/app/assets/stylesheets/summary.css.sass +16 -0
- data/app/assets/stylesheets/variables.css.sass +110 -0
- data/app/assets/stylesheets/visualizations.css.sass +15 -0
- data/app/controllers/alerts_controller.rb +72 -0
- data/app/controllers/application_controller.rb +38 -0
- data/app/controllers/columns_controller.rb +21 -0
- data/app/controllers/queries_controller.rb +85 -0
- data/app/controllers/query_versions_controller.rb +38 -0
- data/app/controllers/result_csvs_controller.rb +29 -0
- data/app/controllers/results_controller.rb +53 -0
- data/app/controllers/roles_controller.rb +9 -0
- data/app/controllers/schema_comments_controller.rb +47 -0
- data/app/controllers/snippets_controller.rb +67 -0
- data/app/controllers/tags_controller.rb +19 -0
- data/app/controllers/visualizations_controller.rb +61 -0
- data/app/mailers/alert_mailer.rb +8 -0
- data/app/models/ability.rb +31 -0
- data/app/models/alert.rb +139 -0
- data/app/models/alert_execution.rb +25 -0
- data/app/models/query.rb +85 -0
- data/app/models/query_execution.rb +39 -0
- data/app/models/query_role.rb +3 -0
- data/app/models/query_version.rb +61 -0
- data/app/models/result.rb +67 -0
- data/app/models/schema_comment.rb +3 -0
- data/app/models/snippet.rb +3 -0
- data/app/models/user.rb +19 -0
- data/app/models/visualization.rb +7 -0
- data/app/serializers/alert_serializer.rb +10 -0
- data/app/serializers/query_index_serializer.rb +7 -0
- data/app/serializers/query_serializer.rb +8 -0
- data/app/serializers/query_version_serializer.rb +3 -0
- data/app/serializers/result_serializer.rb +3 -0
- data/app/views/alert_mailer/alert_failing_email.html.haml +17 -0
- data/app/views/alerts/_index.html.haml +10 -0
- data/app/views/alerts/_index_item.html.haml +25 -0
- data/app/views/alerts/_index_sidebar.html.haml +20 -0
- data/app/views/alerts/_index_sort_bar.html.haml +22 -0
- data/app/views/alerts/_show.html.haml +90 -0
- data/app/views/application/_rollbar.html.erb +9 -0
- data/app/views/application/index.html.haml +1 -0
- data/app/views/application/unauthorized.html.haml +5 -0
- data/app/views/application/unauthorized.json +3 -0
- data/app/views/devise/sessions/new.html.haml +22 -0
- data/app/views/layouts/application.html.haml +78 -0
- data/app/views/queries/_alert.html.haml +6 -0
- data/app/views/queries/_comments.html.haml +5 -0
- data/app/views/queries/_index.html.haml +15 -0
- data/app/views/queries/_index_item.html.haml +37 -0
- data/app/views/queries/_index_sidebar.html.haml +58 -0
- data/app/views/queries/_index_sort_bar.html.haml +29 -0
- data/app/views/queries/_query_details.html.haml +81 -0
- data/app/views/queries/_query_version_sidebar.html.haml +46 -0
- data/app/views/queries/_repl.html.haml +79 -0
- data/app/views/queries/_results.html.haml +29 -0
- data/app/views/queries/_role_template.html.haml +3 -0
- data/app/views/queries/_show.html.haml +28 -0
- data/app/views/queries/_tag_template.html.haml +3 -0
- data/app/views/results/_show.html.haml +45 -0
- data/app/views/schemas/_index.html.haml +47 -0
- data/app/views/snippets/_index.html.haml +30 -0
- data/app/views/snippets/_index_item.html.haml +20 -0
- data/app/views/visualizations/_show.html.haml +83 -0
- data/bin/aleph +71 -0
- data/bin/bundle +3 -0
- data/bin/executables/bundle_runner.rb +12 -0
- data/bin/executables/clock.rb +7 -0
- data/bin/executables/deps.rb +10 -0
- data/bin/executables/import_env_variables.rb +17 -0
- data/bin/executables/init_db.rb +7 -0
- data/bin/executables/lib/config_generator.rb +51 -0
- data/bin/executables/lib/env_writer.rb +25 -0
- data/bin/executables/lib/import_env_file.rb +19 -0
- data/bin/executables/lib/seeder.rb +14 -0
- data/bin/executables/lib/utils.rb +30 -0
- data/bin/executables/playground.rb +130 -0
- data/bin/executables/seed_playground_db.rb +9 -0
- data/bin/executables/update_db.rb +7 -0
- data/bin/executables/web_server.rb +12 -0
- data/bin/executables/worker.rb +7 -0
- data/bin/rails +4 -0
- data/bin/rake +4 -0
- data/config/application.rb +59 -0
- data/config/attribute-map.yml +4 -0
- data/config/boot.rb +4 -0
- data/config/database.yml +40 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +37 -0
- data/config/environments/playground.rb +55 -0
- data/config/environments/production.rb +68 -0
- data/config/environments/staging.rb +75 -0
- data/config/environments/test.rb +46 -0
- data/config/initializers/01_internalize_configurations.rb +70 -0
- data/config/initializers/action_controller_renderers.rb +15 -0
- data/config/initializers/active_model_serializer.rb +7 -0
- data/config/initializers/assets.rb +8 -0
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/cookies_serializer.rb +3 -0
- data/config/initializers/default_enviorment_variables.rb +8 -0
- data/config/initializers/devise.rb +297 -0
- data/config/initializers/filter_parameter_logging.rb +4 -0
- data/config/initializers/haml.rb +1 -0
- data/config/initializers/inflections.rb +16 -0
- data/config/initializers/mime_types.rb +4 -0
- data/config/initializers/net_http.rb +1 -0
- data/config/initializers/pester.rb +15 -0
- data/config/initializers/rails_admin.rb +27 -0
- data/config/initializers/redis.rb +14 -0
- data/config/initializers/rollbar.rb +45 -0
- data/config/initializers/session_store.rb +3 -0
- data/config/initializers/sql_logging_patch.rb +7 -0
- data/config/initializers/to_bool.rb +29 -0
- data/config/initializers/wrap_parameters.rb +14 -0
- data/config/locales/devise.en.yml +62 -0
- data/config/locales/en.yml +23 -0
- data/config/puma.rb +10 -0
- data/config/resque-pool.yml +15 -0
- data/config/resque.yml +10 -0
- data/config/routes.rb +33 -0
- data/config/secrets.yml +26 -0
- data/config.ru +4 -0
- data/db/migrate/20140710204753_database_begin.rb +150 -0
- data/lib/aleph_log_formatter.rb +5 -0
- data/lib/authentication.rb +17 -0
- data/lib/aws_s3.rb +7 -0
- data/lib/clock.rb +7 -0
- data/lib/compilable_parameter.rb +50 -0
- data/lib/count_publisher.rb +26 -0
- data/lib/csv_helper/aws.rb +30 -0
- data/lib/csv_helper/base.rb +20 -0
- data/lib/csv_helper/local.rb +18 -0
- data/lib/csv_serializer.rb +23 -0
- data/lib/csv_service.rb +12 -0
- data/lib/github/blob.rb +23 -0
- data/lib/github/commit.rb +37 -0
- data/lib/github/pusher.rb +94 -0
- data/lib/github/refs.rb +39 -0
- data/lib/github/tree.rb +29 -0
- data/lib/github.rb +64 -0
- data/lib/interaction/query_creation.rb +27 -0
- data/lib/interaction/query_interaction.rb +35 -0
- data/lib/interaction/query_update.rb +62 -0
- data/lib/interaction/result_creation.rb +48 -0
- data/lib/pagination_search/attribute_set.rb +61 -0
- data/lib/pagination_search/base_relation.rb +80 -0
- data/lib/pagination_search/hash_paginate.rb +74 -0
- data/lib/pagination_search/paginated_records.rb +16 -0
- data/lib/pagination_search/pagination.rb +12 -0
- data/lib/pagination_search/search_conditions.rb +59 -0
- data/lib/query_version_support.rb +14 -0
- data/lib/redis_result_row_count.rb +26 -0
- data/lib/redshift_connection_pool.rb +8 -0
- data/lib/redshift_pg/connection.rb +44 -0
- data/lib/redshift_pg/redshift_pg.rb +15 -0
- data/lib/result_csv_generator.rb +40 -0
- data/lib/role.rb +40 -0
- data/lib/sample_skimmer.rb +30 -0
- data/lib/schema_comment_matcher.rb +27 -0
- data/lib/schemas/descriptor.rb +85 -0
- data/lib/schemas/descriptors.rb +10 -0
- data/lib/schemas/paginate.rb +21 -0
- data/lib/schemas/redis_store.rb +22 -0
- data/lib/simple_cache.rb +13 -0
- data/lib/sql_compiler.rb +33 -0
- data/lib/summarizer.rb +18 -0
- data/lib/tasks/karma.rake +32 -0
- data/lib/tasks/resque_setup.rake +18 -0
- data/playground_data/1.csv +13 -0
- data/playground_data/aleph.playground.sqlite3 +0 -0
- data/public/404.html +26 -0
- data/public/422.html +26 -0
- data/public/500.html +25 -0
- data/public/aleph.png +0 -0
- data/public/assets/.sprockets-manifest-24b5998edb20c5b4d6edf39d44cd3ff7.json +1 -0
- data/public/assets/FontAwesome-9ccfa32dd4cd1b8e83f68899d85bd5e6.otf +0 -0
- data/public/assets/ZeroClipboard-8b5c117b88fe37e32fd34a70fdf60026.swf +0 -0
- data/public/assets/angular/aleph.js-19b4df67407de5dab249abfc391c0eaf.es6 +90 -0
- data/public/assets/angular/config/schema_completer_config.js-1b696920b5e04f75620630d75117b201.es6 +71 -0
- data/public/assets/angular/controllers/alerts/alert_index_controller.js-4344581b1e9b456c3f991f96bb4d403d.es6 +16 -0
- data/public/assets/angular/controllers/alerts/alert_show_controller.js-a984dc82fbcac380cdc8682bf8986933.es6 +99 -0
- data/public/assets/angular/controllers/controllers.js-7431ae468ea2f0d392661448a61cfdf3.es6 +65 -0
- data/public/assets/angular/controllers/query/query_index_controller.js-828eadeee6a971b11b5c07f65f0c6def.es6 +80 -0
- data/public/assets/angular/controllers/query/query_repl_controller.js-3c4bac22e41766e2e83e720d53acade3.es6 +147 -0
- data/public/assets/angular/controllers/query/query_show_controller.js-020c83fd94ece7d55bd94b9981a40083.es6 +43 -0
- data/public/assets/angular/controllers/schema/schema_index_controller.js-d0d790d168b49caefa4b8f7993c928f1.es6 +61 -0
- data/public/assets/angular/controllers/snippet/snippet_index_controller.js-9191ee2e37d16d5807b8a7f45530a6c2.es6 +80 -0
- data/public/assets/angular/directives/directives.js-44fda752585bddc5d026feaab8b14108.es6 +30 -0
- data/public/assets/angular/directives/query/query_details_directive.js-2dd979e2463826558f166d9dc9e2c8a9.es6 +87 -0
- data/public/assets/angular/directives/query/query_version_sidebar_directive.js-b19ba8a9bf4e66c5740e9b9f9495cee1.es6 +65 -0
- data/public/assets/angular/directives/result/result_directive.js-76c151e9277e35578f92b076c2fa5b06.es6 +59 -0
- data/public/assets/angular/directives/result/results_directive.js-fcbf9750790823a11ca313e630bd2b0f.es6 +30 -0
- data/public/assets/angular/directives/visualization_directive.js-82cb45a52eba62deb283a3699add1b33.es6 +101 -0
- data/public/assets/angular/filters/filters.js-48cdb16fc89337e861c9f18ad57fd9bf.es6 +27 -0
- data/public/assets/angular/services/alert/alert.js-a76ea96e948de324fcc00f3ef3ecae4e.es6 +51 -0
- data/public/assets/angular/services/alert/alert_resource.js-ac68ea99936eb213c0fb37d4fbb1511a.es6 +10 -0
- data/public/assets/angular/services/lib/ace_completers.js-5353182bc538210dad12865ad6a060fd.es6 +29 -0
- data/public/assets/angular/services/lib/ace_sql_parse.js-4114a8ad4fe4dbf4f72c0ab7fca22e83.es6 +156 -0
- data/public/assets/angular/services/lib/action_handler.js-85a8f75f507efcf2fe950fa7717b6976.es6 +73 -0
- data/public/assets/angular/services/lib/alert_flash.js-7a4fe7ef5510a224677a12ecf2fe973b.es6 +30 -0
- data/public/assets/angular/services/lib/default_ace_configurator_service.js-9b83d6b53495dafe10bfed5074c3ec01.es6 +74 -0
- data/public/assets/angular/services/lib/github_url_service.js-719084a625f60d20c24097f00813b481.es6 +53 -0
- data/public/assets/angular/services/lib/keyword_completer.js-560b51694457619401c72431dd7b647e.es6 +36 -0
- data/public/assets/angular/services/lib/local_resource.js-9b57357ed203c783708e48154721242a.es6 +20 -0
- data/public/assets/angular/services/lib/lock_service.js-32eb33fda9c27fb5643b25c63099b52c.es6 +48 -0
- data/public/assets/angular/services/lib/locking_poll_service.js-d0271cc07d20ec73291e7175e1714d42.es6 +42 -0
- data/public/assets/angular/services/lib/matcher_runner.js-bd63f4c6ad965716c5b793d3c4602563.es6 +65 -0
- data/public/assets/angular/services/lib/navigation_guard.js-5c7497900f99319f3ef76b83662c20cd.es6 +45 -0
- data/public/assets/angular/services/lib/open_repl_service.js-2332490470ea58f3e5ce7f6fe5dd2659.es6 +56 -0
- data/public/assets/angular/services/lib/page_title_manager.js-227f9ddb49d23bfa934bf216ef96ccbd.es6 +38 -0
- data/public/assets/angular/services/lib/pagination.js-baa9a496d01b87f90c588c51864d1533.es6 +114 -0
- data/public/assets/angular/services/lib/pagination_components.js-4fcc03120d1299713347b487f1e8fd44.es6 +91 -0
- data/public/assets/angular/services/lib/parameter_methods.js-16ecb25ffb24d5870dfc17f9f408fa5b.es6 +35 -0
- data/public/assets/angular/services/lib/role_model.js-3d5072f279676294e7d17cbb4bb3adb5.es6 +21 -0
- data/public/assets/angular/services/lib/schema_completer.js-d04d49642967fd9f8e2c95e0df81f2ae.es6 +56 -0
- data/public/assets/angular/services/lib/selection_tag_input.js-86cc6d564c108d722951b6fcd2b51221.es6 +42 -0
- data/public/assets/angular/services/lib/server_configurations.js-fd8c16a3d02926e7597240566808c141.es6 +15 -0
- data/public/assets/angular/services/lib/spinner_state.js-315bb62df18f9370a89f8b865eb1766a.es6 +45 -0
- data/public/assets/angular/services/lib/tag_resource.js-8849bbdd579bd38b36a362bed926c2f2.es6 +14 -0
- data/public/assets/angular/services/model/collection_dirty_awareness.js-8a78450bd8b565fb03633ab735893508.es6 +33 -0
- data/public/assets/angular/services/model/collection_model_base.js-8092335acde425d28718c1a9fc677d39.es6 +75 -0
- data/public/assets/angular/services/model/dirty_aware_collection_model.js-6f4d2b409a033f5ffc6bd5a747df2046.es6 +31 -0
- data/public/assets/angular/services/model/dirty_aware_model.js-ec1a086f3ec459827dbd5381bd970975.es6 +50 -0
- data/public/assets/angular/services/model/model_base.js-9fd807dfdf4f26afe60d8e282ca08e6c.es6 +80 -0
- data/public/assets/angular/services/model/model_state.js-3e96e381ea7a9eff857081ffbf3a8bab.es6 +51 -0
- data/public/assets/angular/services/model/models.js-6798762a6e263be75c7c4e9f8a19da66.es6 +15 -0
- data/public/assets/angular/services/model/unpersisted_model.js-49597959c989e68c713fd826743bb7b5.es6 +20 -0
- data/public/assets/angular/services/model_generation/model_factory.js-0bccc6a2e9b4738c67230fc68d9780ae.es6 +28 -0
- data/public/assets/angular/services/model_generation/model_generation.js-f08c6eff199b5ad02b2e2bdf866d69ff.es6 +13 -0
- data/public/assets/angular/services/model_generation/model_manager.js-b05d8f00bc4499c50098ae31013de88c.es6 +86 -0
- data/public/assets/angular/services/model_generation/resource_factory.js-e8ce2f4be9383d885dbb965c8e425bab.es6 +38 -0
- data/public/assets/angular/services/model_generation/standard_collection_model.js-19c44dc3a937a85d825c5a2f020a6769.es6 +25 -0
- data/public/assets/angular/services/model_generation/standard_model.js-74439b041eebfc7e0fad454cf6e32192.es6 +38 -0
- data/public/assets/angular/services/query/query.js-7b6228d0a5c1a6ea76242f4aa49aafd0.es6 +55 -0
- data/public/assets/angular/services/query/query_handler.js-d8cb3c66bcf6d16cd13bb5bcd0921496.es6 +40 -0
- data/public/assets/angular/services/query/query_loader.js-1fbc8b859778d46b73b9adc300984851.es6 +54 -0
- data/public/assets/angular/services/query/query_request_transformers.js-522901477c7848324cd5c014005a85c8.es6 +26 -0
- data/public/assets/angular/services/query/query_resource.js-b809fbfd1c379619fa07ef8e52509810.es6 +21 -0
- data/public/assets/angular/services/query/query_tab.js-fe34f5e6d0c813d2d92838be14cd6783.es6 +63 -0
- data/public/assets/angular/services/query/query_versions.js-aa3aec9021354a7394797101ea500887.es6 +21 -0
- data/public/assets/angular/services/result/result.js-be8178c80c767a651a97537b2b0149d5.es6 +26 -0
- data/public/assets/angular/services/result/result_poller.js-b15617d53f164cbe5636bb5573a70504.es6 +30 -0
- data/public/assets/angular/services/result/result_runner.js-ce2c5b3121c8e67903c302e600749c14.es6 +48 -0
- data/public/assets/angular/services/result/results.js-53088d6088f6b4783b274a64322d361c.es6 +10 -0
- data/public/assets/angular/services/schema/schema_column.js-3908faecc9874fa08484d7490701a7d4.es6 +93 -0
- data/public/assets/angular/services/schema/schema_column_resource.js-a6982ce9698b104192c4e455300df455.es6 +12 -0
- data/public/assets/angular/services/schema/schema_columns.js-c63a16e2e0778a885bd27c7cf2ed7d88.es6 +57 -0
- data/public/assets/angular/services/schema/schema_comment_resource.js-20254ea1a4e7b4850c9f21f9619130ce.es6 +12 -0
- data/public/assets/angular/services/services.js-6225c5ea24a9082506d1932d7884b53b.es6 +140 -0
- data/public/assets/angular/services/snippet/ace_snippet_manager.js-dbbba5d8ad5040042b469b294c4d7228.es6 +44 -0
- data/public/assets/angular/services/visualization/source_renderer.js-d7274c88b067a35f2e91bf7f39be7d47.es6 +70 -0
- data/public/assets/angular/services/visualization/visualization.js-23e36c87721aa263dd3f99769027cabb.es6 +47 -0
- data/public/assets/angular/services/visualization/visualization_service.js-25de86b5ceef60cf2b1dfde5fb0e9216.es6 +67 -0
- data/public/assets/angular/services/visualization/visualizations.js-1227bc3dcd67e85c8050d82360a26d53.es6 +11 -0
- data/public/assets/application-9153e0bf570016651e5eb8c67e037d3a.css +10 -0
- data/public/assets/application-ef5c2ae95804ac9785f190a9aea7ad8b.js +149 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-448c34a56d699c29117adc64c43affeb.woff2 +0 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-89889688147bd7575d6327160d64e760.svg +288 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-e18bbf611f2a2e43afc071aa2f4e1512.ttf +0 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-f4769f9bdb7466be65088239c12046d1.eot +0 -0
- data/public/assets/bootstrap/glyphicons-halflings-regular-fa2772327f55d8198301fdb8bcfc8158.woff +0 -0
- data/public/assets/fontawesome-webfont-4f0022f25672c7f501c339cbf98d9117.ttf +0 -0
- data/public/assets/fontawesome-webfont-776d58f453c8fe5d6a89e9c31ee223ff.svg +504 -0
- data/public/assets/fontawesome-webfont-90186830c9c50a0fed932494581761d9.eot +0 -0
- data/public/assets/fontawesome-webfont-926c93d201fe51c8f351e858468980c3.woff2 +0 -0
- data/public/assets/fontawesome-webfont-fdf491ce5ff5b2da02708cd0e9864719.woff +0 -0
- data/public/assets/glyphicons-halflings-regular-0a5c48c69a25a93e37ed62db813387fa.svg +229 -0
- data/public/assets/glyphicons-halflings-regular-47da44498fc073d9fff9ab0cdb0bef8e.ttf +0 -0
- data/public/assets/glyphicons-halflings-regular-5eae1f7217b606d3580dd70ac840fea1.woff +0 -0
- data/public/assets/glyphicons-halflings-regular-aa16cd35628e6dddf56e766c9aa4ae63.eot +0 -0
- data/public/assets/jquery-ui/ui-bg_flat_0_aaaaaa_40x100-2a44fbdb7360c60122bcf6dcef0387d8.png +0 -0
- data/public/assets/jquery-ui/ui-bg_flat_75_ffffff_40x100-8692e6efddf882acbff144c38ea7dfdf.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_55_fbf9ee_1x400-f8f4558e0b92ff2cd6136781533902ec.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_65_ffffff_1x400-e5a8f32e28fd5c27bf0fed33c8a8b9b5.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_75_dadada_1x400-c12c6510dad3ebfa64c8a30e959a2469.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_75_e6e6e6_1x400-f4254356c2a8c9a383205ef2c4de22c4.png +0 -0
- data/public/assets/jquery-ui/ui-bg_glass_95_fef1ec_1x400-5a3be2d8fff8324d59aec3df7b0a0c83.png +0 -0
- data/public/assets/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100-72c593d16e998952cd8d798fee33c6f3.png +0 -0
- data/public/assets/jquery-ui/ui-icons_222222_256x240-9129e086dc488d8bcaf808510bc646ba.png +0 -0
- data/public/assets/jquery-ui/ui-icons_2e83ff_256x240-25162bf857a8eb83ea932a58436e1049.png +0 -0
- data/public/assets/jquery-ui/ui-icons_454545_256x240-771099482bdc1571ece41073b1752596.png +0 -0
- data/public/assets/jquery-ui/ui-icons_888888_256x240-faf6f5dc44e713178784c1fb053990aa.png +0 -0
- data/public/assets/jquery-ui/ui-icons_cd0a0a_256x240-5d8808d43cefca6f6781a5316d176632.png +0 -0
- data/public/assets/octicons-0a82c1edade24862533bbe96ebeaea47.eot +0 -0
- data/public/assets/octicons-103abd6cc0199e2519ef6f1aac4bb0e0.ttf +0 -0
- data/public/assets/octicons-adc17600a2b7a648eba306c2e1426b85.svg +183 -0
- data/public/assets/octicons-be82065223a03ba577de159d97a5d63d.woff +0 -0
- data/public/assets/octicons-local-72e4167c13648cb89e9e96cdd212cb82.ttf +0 -0
- data/public/assets/rails_admin/aristo/images/bg_fallback-a7547e71656b1e538b93ddb49dfc98d3.png +0 -0
- data/public/assets/rails_admin/aristo/images/icon_sprite-415c1eec8a2d31d217d4d1d5a1d44345.png +0 -0
- data/public/assets/rails_admin/aristo/images/progress_bar-449b2fab5cf4122c17a416f6e26569fe.gif +0 -0
- data/public/assets/rails_admin/aristo/images/slider_handles-ba57b6efb64ca6263f77ce2624ad71ee.png +0 -0
- data/public/assets/rails_admin/aristo/images/ui-icons_222222_256x240-a2c05c5e967f9cf4dae51c1243b3b93c.png +0 -0
- data/public/assets/rails_admin/aristo/images/ui-icons_454545_256x240-a7a7eff72c4f562524dc472824aab656.png +0 -0
- data/public/assets/rails_admin/base/README-f7dd742c2237cb1959438b94c7503a41.txt +2 -0
- data/public/assets/rails_admin/bootstrap/glyphicons-halflings-d4fef5262f29f592560fb59918a1c052.png +0 -0
- data/public/assets/rails_admin/bootstrap/glyphicons-halflings-white-9bbc6e9602998a385c2ea13df56470fd.png +0 -0
- data/public/assets/rails_admin/bullet_black-06d345566cf9e0f97a23bb07ab3d50d9.png +0 -0
- data/public/assets/rails_admin/bullet_white-469b537fa21b7143f719578f7426825d.png +0 -0
- data/public/assets/rails_admin/calendar-697f5a44753da70028cfd04b98ac45d2.png +0 -0
- data/public/assets/rails_admin/clock-0cc82b549af3df4f730a02335f54b0df.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_background-7aaa2a726200c0ac3ba43c01f073a93d.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_hex-cbc06f4015cbb276a3dd966e1be37c25.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_hsb_b-2315aba3c2fbbcfcc22869b21836c31d.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_hsb_h-3120023551e3601467cf52e1c8aaae9e.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_hsb_s-77a77892bdef0906fdfc3426d06108fd.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_indic-f485d07540a89502e36dc1a55cec05d0.gif +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_overlay-4b2dd6f78c4aac5cc932e845698b2db5.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_rgb_b-2315aba3c2fbbcfcc22869b21836c31d.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_rgb_g-475afe3f4f69e59ff30a445384a8d961.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_rgb_r-02de28945293fe2fd026c9be3b89955a.png +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_select-cdf55197d05f18c552dc35bdb858fa2a.gif +0 -0
- data/public/assets/rails_admin/colorpicker/colorpicker_submit-9912e5cf348e0be359ff9b1078fbb7da.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_background-a0ab8ff3e2b85b1f8ed5a4d86967471b.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_hex-065e780d7b89f7dda63a472caa7c2bdd.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_hsb_b-66f5963cf1a0a2680acbcac2bb77f40d.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_hsb_h-cd1f2e27122aeca17af416f328b758cd.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_hsb_s-ca6f3e4f0c1fc2cb110c788018369e07.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_indic-04660eb352eb259581a36a0fe8da2d4d.gif +0 -0
- data/public/assets/rails_admin/colorpicker/custom_rgb_b-64bc0c5110f84efe32e82c58d50660f6.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_rgb_g-33fe011475956750a457b1f93f1b9075.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_rgb_r-18f2ee37089d850c52b212d8a31aac92.png +0 -0
- data/public/assets/rails_admin/colorpicker/custom_submit-9d0a14eebb9ae04edfb8099827a42968.png +0 -0
- data/public/assets/rails_admin/colorpicker/select-76bd5c10f34de24b73ff4454735d3e18.png +0 -0
- data/public/assets/rails_admin/colorpicker/select2-d3fea9a451ac2c29bcd4a82b6e4f326a.png +0 -0
- data/public/assets/rails_admin/colorpicker/slider-db040ce7280fc74269e330a862e738e6.png +0 -0
- data/public/assets/rails_admin/jquery.colorpicker-7c36c2fac54a031f6e0dfe6ad137cfb1.js +1 -0
- data/public/assets/rails_admin/jquery.colorpicker-e402a30af31a4ba5957fec816dc9239c.css +1 -0
- data/public/assets/rails_admin/logo-9b479a57b493ee824767163101a5409f.png +0 -0
- data/public/assets/rails_admin/magnifier-4fcdfd820ff2e951458af3d1309ab20c.png +0 -0
- data/public/assets/rails_admin/multiselect/icon_sprite-415c1eec8a2d31d217d4d1d5a1d44345.png +0 -0
- data/public/assets/rails_admin/multiselect/ui-icon-circle-triangle-n-dark-32c1cfdd900379bf62658e475fb2ba38.png +0 -0
- data/public/assets/rails_admin/multiselect/ui-icon-circle-triangle-n-light-73160d919a189ba13bd4387e3623b7e9.png +0 -0
- data/public/assets/rails_admin/multiselect/ui-icon-circle-triangle-s-dark-c15e6bff59c80c5473236cf77870f31d.png +0 -0
- data/public/assets/rails_admin/multiselect/ui-icon-circle-triangle-s-light-fbf43811420f67d49d4dc64c7817f72c.png +0 -0
- data/public/assets/rails_admin/rails_admin-d25a684b9f690652469ceb212fbe7b95.js +328 -0
- data/public/assets/rails_admin/rails_admin-d85fb3c8bbff377491ed5af5239cf185.css +8 -0
- data/public/assets/resque_web/application-b29b34115c3ad5c539f26114fc91e584.css +4 -0
- data/public/assets/resque_web/application-d2bc6e68cf7c6215e804fe9e3f46f1d0.js +111 -0
- data/public/assets/resque_web/idle-53474088772d9917bd463b19efa32fc3.png +0 -0
- data/public/assets/resque_web/lifebuoy-0281230b31ba4078685f4df3e8169534.png +0 -0
- data/public/assets/resque_web/poll-af53f85832c41a9cde68b08cb09711f1.png +0 -0
- data/public/assets/resque_web/rails-9c0a079bdd7701d7e729bd956823d153.png +0 -0
- data/public/assets/resque_web/working-26a36c5119cbdcc64ebade2c5f8c389d.png +0 -0
- data/public/assets/twitter/bootstrap/glyphicons-halflings-2516339970d710819585f90773aebe0a.png +0 -0
- data/public/assets/twitter/bootstrap/glyphicons-halflings-white-9bbc6e9602998a385c2ea13df56470fd.png +0 -0
- data/public/bg_big.svg +2 -0
- data/public/bg_new.svg +2 -0
- data/public/favicon.ico +0 -0
- data/public/resources/keyword_config.json +51 -0
- data/public/resources/visualization/area.html +17 -0
- data/public/resources/visualization/area_step.html +17 -0
- data/public/resources/visualization/bar.html +17 -0
- data/public/resources/visualization/custom.html +6 -0
- data/public/resources/visualization/line.html +16 -0
- data/public/resources/visualization/presets.json +13 -0
- data/public/resources/visualization/scatter.html +17 -0
- data/public/resources/visualization/spline.html +17 -0
- data/public/resources/visualization/spline_area.html +17 -0
- data/public/resources/visualization/stacked_area.html +18 -0
- data/public/resources/visualization/stacked_bar.html +18 -0
- data/public/resources/visualization/stacked_spline_area.html +18 -0
- data/public/resources/visualization/template.json +12 -0
- data/public/robots.txt +2 -0
- data/vendor/assets/javascripts/ace/ace.js +18655 -0
- data/vendor/assets/javascripts/ace/ext-language_tools.js +1937 -0
- data/vendor/assets/javascripts/ace/mode-html.js +2794 -0
- data/vendor/assets/javascripts/ace/mode-pgsql.js +1503 -0
- data/vendor/assets/javascripts/ace/snippets/coffee.js +102 -0
- data/vendor/assets/javascripts/ace/snippets/css.js +974 -0
- data/vendor/assets/javascripts/ace/snippets/haml.js +27 -0
- data/vendor/assets/javascripts/ace/snippets/html.js +835 -0
- data/vendor/assets/javascripts/ace/snippets/html_elixir.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/html_ruby.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/javascript.js +202 -0
- data/vendor/assets/javascripts/ace/snippets/json.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/jsp.js +106 -0
- data/vendor/assets/javascripts/ace/snippets/jsx.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/less.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/mysql.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/pgsql.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/plain_text.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/rhtml.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/sass.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/scss.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/snippets.js +16 -0
- data/vendor/assets/javascripts/ace/snippets/sql.js +33 -0
- data/vendor/assets/javascripts/ace/snippets/sqlserver.js +76 -0
- data/vendor/assets/javascripts/ace/snippets/svg.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/text.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/textile.js +37 -0
- data/vendor/assets/javascripts/ace/theme-monokai.js +105 -0
- data/vendor/assets/javascripts/angular-filter/angular-filter.js +2271 -0
- data/vendor/assets/javascripts/angular-hotkeys/hotkeys.js +1523 -0
- data/vendor/assets/javascripts/angular-selection-model/selection-model.js +563 -0
- data/vendor/assets/javascripts/angular-spinner/treasure-overlay-spinner.js +53 -0
- data/vendor/assets/javascripts/angular-ui-ace/ui-ace.js +298 -0
- data/vendor/assets/javascripts/angular-ui-bootstrap/ui-bootstrap-tpls-0.14.3.js +8503 -0
- data/vendor/assets/javascripts/d3/c3.min.js +5 -0
- data/vendor/assets/javascripts/d3/d3.v3.min.js +5 -0
- data/vendor/assets/javascripts/infinite-scroll/infinite-scroll.js +186 -0
- data/vendor/assets/javascripts/ng-clip/ngClip.js +84 -0
- data/vendor/assets/javascripts/ng-tags-input/ng-tags-input.min.js +1 -0
- data/vendor/assets/javascripts/pluralize/pluralize.js +453 -0
- data/vendor/assets/javascripts/underscore-js/underscore.js +1548 -0
- data/vendor/assets/stylesheets/angular-hotkeys/hotkeys.css +110 -0
- data/vendor/assets/stylesheets/angular-spinner/treasure-overlay-spinner.css +136 -0
- data/vendor/assets/stylesheets/c3/c3.min.css +1 -0
- data/vendor/assets/stylesheets/ng-tags-input/ng-tags-input.bootstrap.min.css +1 -0
- data/vendor/assets/stylesheets/ng-tags-input/ng-tags-input.min.css +1 -0
- data/vendor/assets/stylesheets/octicons/README.md +1 -0
- data/vendor/assets/stylesheets/octicons/sprockets-octicons.scss +217 -0
- metadata +600 -0
@@ -0,0 +1,297 @@
|
|
1
|
+
# Use this hook to configure devise mailer, warden hooks and so forth.
|
2
|
+
# Many of these configuration options can be set straight in your model.
|
3
|
+
Devise.setup do |config|
|
4
|
+
# The secret key used by Devise. Devise uses this key to generate
|
5
|
+
# random tokens. Changing this key will render invalid all existing
|
6
|
+
# confirmation, reset password and unlock tokens in the database.
|
7
|
+
# Devise will use the `secret_key_base` on Rails 4+ applications as its `secret_key`
|
8
|
+
# by default. You can change it below and use your own secret key.
|
9
|
+
config.secret_key = ENV['SECRET_KEY_BASE'] || 'e24787c84c167a4f2011ecb2941293956c2eef3a86eb3262d3df3956c38c0fb54b453345940d4ac3ed2038cf13a4352cdfd942d5dcc391292fc97e4605136d84'
|
10
|
+
|
11
|
+
# ==> Mailer Configuration
|
12
|
+
# Configure the e-mail address which will be shown in Devise::Mailer,
|
13
|
+
# note that it will be overwritten if you use your own mailer class
|
14
|
+
# with default "from" parameter.
|
15
|
+
# config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com'
|
16
|
+
|
17
|
+
# Configure the class responsible to send e-mails.
|
18
|
+
# config.mailer = 'Devise::Mailer'
|
19
|
+
|
20
|
+
# ==> ORM configuration
|
21
|
+
# Load and configure the ORM. Supports :active_record (default) and
|
22
|
+
# :mongoid (bson_ext recommended) by default. Other ORMs may be
|
23
|
+
# available as additional gems.
|
24
|
+
require 'devise/orm/active_record'
|
25
|
+
|
26
|
+
# ==> Configuration for any authentication mechanism
|
27
|
+
# Configure which keys are used when authenticating a user. The default is
|
28
|
+
# just :email. You can configure it to use [:username, :subdomain], so for
|
29
|
+
# authenticating a user, both parameters are required. Remember that those
|
30
|
+
# parameters are used only when authenticating and not when retrieving from
|
31
|
+
# session. If you need permissions, you should implement that in a before filter.
|
32
|
+
# You can also supply a hash where the value is a boolean determining whether
|
33
|
+
# or not authentication should be aborted when the value is not present.
|
34
|
+
# config.authentication_keys = [:email]
|
35
|
+
|
36
|
+
# Configure parameters from the request object used for authentication. Each entry
|
37
|
+
# given should be a request method and it will automatically be passed to the
|
38
|
+
# find_for_authentication method and considered in your model lookup. For instance,
|
39
|
+
# if you set :request_keys to [:subdomain], :subdomain will be used on authentication.
|
40
|
+
# The same considerations mentioned for authentication_keys also apply to request_keys.
|
41
|
+
# config.request_keys = []
|
42
|
+
|
43
|
+
# Configure which authentication keys should be case-insensitive.
|
44
|
+
# These keys will be downcased upon creating or modifying a user and when used
|
45
|
+
# to authenticate or find a user. Default is :email.
|
46
|
+
config.case_insensitive_keys = [:email]
|
47
|
+
|
48
|
+
# Configure which authentication keys should have whitespace stripped.
|
49
|
+
# These keys will have whitespace before and after removed upon creating or
|
50
|
+
# modifying a user and when used to authenticate or find a user. Default is :email.
|
51
|
+
config.strip_whitespace_keys = [:email]
|
52
|
+
|
53
|
+
# Tell if authentication through request.params is enabled. True by default.
|
54
|
+
# It can be set to an array that will enable params authentication only for the
|
55
|
+
# given strategies, for example, `config.params_authenticatable = [:database]` will
|
56
|
+
# enable it only for database (email + password) authentication.
|
57
|
+
# config.params_authenticatable = true
|
58
|
+
|
59
|
+
# Tell if authentication through HTTP Auth is enabled. False by default.
|
60
|
+
# It can be set to an array that will enable http authentication only for the
|
61
|
+
# given strategies, for example, `config.http_authenticatable = [:database]` will
|
62
|
+
# enable it only for database authentication. The supported strategies are:
|
63
|
+
# :database = Support basic authentication with authentication key + password
|
64
|
+
# config.http_authenticatable = false
|
65
|
+
|
66
|
+
# If 401 status code should be returned for AJAX requests. True by default.
|
67
|
+
# config.http_authenticatable_on_xhr = true
|
68
|
+
|
69
|
+
# The realm used in Http Basic Authentication. 'Application' by default.
|
70
|
+
# config.http_authentication_realm = 'Application'
|
71
|
+
|
72
|
+
# It will change confirmation, password recovery and other workflows
|
73
|
+
# to behave the same regardless if the e-mail provided was right or wrong.
|
74
|
+
# Does not affect registerable.
|
75
|
+
# config.paranoid = true
|
76
|
+
|
77
|
+
# By default Devise will store the user in session. You can skip storage for
|
78
|
+
# particular strategies by setting this option.
|
79
|
+
# Notice that if you are skipping storage for all authentication paths, you
|
80
|
+
# may want to disable generating routes to Devise's sessions controller by
|
81
|
+
# passing skip: :sessions to `devise_for` in your config/routes.rb
|
82
|
+
config.skip_session_storage = [:http_auth]
|
83
|
+
|
84
|
+
# By default, Devise cleans up the CSRF token on authentication to
|
85
|
+
# avoid CSRF token fixation attacks. This means that, when using AJAX
|
86
|
+
# requests for sign in and sign up, you need to get a new CSRF token
|
87
|
+
# from the server. You can disable this option at your own risk.
|
88
|
+
# config.clean_up_csrf_token_on_authentication = true
|
89
|
+
|
90
|
+
# ==> Configuration for :database_authenticatable
|
91
|
+
# For bcrypt, this is the cost for hashing the password and defaults to 10. If
|
92
|
+
# using other encryptors, it sets how many times you want the password re-encrypted.
|
93
|
+
#
|
94
|
+
# Limiting the stretches to just one in testing will increase the performance of
|
95
|
+
# your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
|
96
|
+
# a value less than 10 in other environments. Note that, for bcrypt (the default
|
97
|
+
# encryptor), the cost increases exponentially with the number of stretches (e.g.
|
98
|
+
# a value of 20 is already extremely slow: approx. 60 seconds for 1 calculation).
|
99
|
+
config.stretches = Rails.env.test? ? 1 : 10
|
100
|
+
|
101
|
+
# Setup a pepper to generate the encrypted password.
|
102
|
+
# config.pepper = '810deaee63ecab908f4a0f60497f21e8491caf6cd29fa7280f280a8466d28bef1d503646023baaf4f35bec16731c443a1ff7db6ddfef1cb3fda2a45190d295bb'
|
103
|
+
|
104
|
+
# Send a notification email when the user's password is changed
|
105
|
+
# config.send_password_change_notification = false
|
106
|
+
|
107
|
+
# ==> Configuration for :confirmable
|
108
|
+
# A period that the user is allowed to access the website even without
|
109
|
+
# confirming their account. For instance, if set to 2.days, the user will be
|
110
|
+
# able to access the website for two days without confirming their account,
|
111
|
+
# access will be blocked just in the third day. Default is 0.days, meaning
|
112
|
+
# the user cannot access the website without confirming their account.
|
113
|
+
# config.allow_unconfirmed_access_for = 2.days
|
114
|
+
|
115
|
+
# A period that the user is allowed to confirm their account before their
|
116
|
+
# token becomes invalid. For example, if set to 3.days, the user can confirm
|
117
|
+
# their account within 3 days after the mail was sent, but on the fourth day
|
118
|
+
# their account can't be confirmed with the token any more.
|
119
|
+
# Default is nil, meaning there is no restriction on how long a user can take
|
120
|
+
# before confirming their account.
|
121
|
+
# config.confirm_within = 3.days
|
122
|
+
|
123
|
+
# If true, requires any email changes to be confirmed (exactly the same way as
|
124
|
+
# initial account confirmation) to be applied. Requires additional unconfirmed_email
|
125
|
+
# db field (see migrations). Until confirmed, new email is stored in
|
126
|
+
# unconfirmed_email column, and copied to email column on successful confirmation.
|
127
|
+
config.reconfirmable = true
|
128
|
+
|
129
|
+
# Defines which key will be used when confirming an account
|
130
|
+
# config.confirmation_keys = [:email]
|
131
|
+
|
132
|
+
# ==> Configuration for :rememberable
|
133
|
+
# The time the user will be remembered without asking for credentials again.
|
134
|
+
# config.remember_for = 2.weeks
|
135
|
+
|
136
|
+
# Invalidates all the remember me tokens when the user signs out.
|
137
|
+
config.expire_all_remember_me_on_sign_out = true
|
138
|
+
|
139
|
+
# If true, extends the user's remember period when remembered via cookie.
|
140
|
+
# config.extend_remember_period = false
|
141
|
+
|
142
|
+
# Options to be passed to the created cookie. For instance, you can set
|
143
|
+
# secure: true in order to force SSL only cookies.
|
144
|
+
# config.rememberable_options = {}
|
145
|
+
|
146
|
+
# ==> Configuration for :validatable
|
147
|
+
# Range for password length.
|
148
|
+
config.password_length = 8..72
|
149
|
+
|
150
|
+
# Email regex used to validate email formats. It simply asserts that
|
151
|
+
# one (and only one) @ exists in the given string. This is mainly
|
152
|
+
# to give user feedback and not to assert the e-mail validity.
|
153
|
+
# config.email_regexp = /\A[^@]+@[^@]+\z/
|
154
|
+
|
155
|
+
# ==> Configuration for :timeoutable
|
156
|
+
# The time you want to timeout the user session without activity. After this
|
157
|
+
# time the user will be asked for credentials again. Default is 30 minutes.
|
158
|
+
# config.timeout_in = 30.minutes
|
159
|
+
|
160
|
+
# ==> Configuration for :lockable
|
161
|
+
# Defines which strategy will be used to lock an account.
|
162
|
+
# :failed_attempts = Locks an account after a number of failed attempts to sign in.
|
163
|
+
# :none = No lock strategy. You should handle locking by yourself.
|
164
|
+
# config.lock_strategy = :failed_attempts
|
165
|
+
|
166
|
+
# Defines which key will be used when locking and unlocking an account
|
167
|
+
# config.unlock_keys = [:email]
|
168
|
+
|
169
|
+
# Defines which strategy will be used to unlock an account.
|
170
|
+
# :email = Sends an unlock link to the user email
|
171
|
+
# :time = Re-enables login after a certain amount of time (see :unlock_in below)
|
172
|
+
# :both = Enables both strategies
|
173
|
+
# :none = No unlock strategy. You should handle unlocking by yourself.
|
174
|
+
# config.unlock_strategy = :both
|
175
|
+
|
176
|
+
# Number of authentication tries before locking an account if lock_strategy
|
177
|
+
# is failed attempts.
|
178
|
+
# config.maximum_attempts = 20
|
179
|
+
|
180
|
+
# Time interval to unlock the account if :time is enabled as unlock_strategy.
|
181
|
+
# config.unlock_in = 1.hour
|
182
|
+
|
183
|
+
# Warn on the last attempt before the account is locked.
|
184
|
+
# config.last_attempt_warning = true
|
185
|
+
|
186
|
+
# ==> Configuration for :recoverable
|
187
|
+
#
|
188
|
+
# Defines which key will be used when recovering the password for an account
|
189
|
+
# config.reset_password_keys = [:email]
|
190
|
+
|
191
|
+
# Time interval you can reset your password with a reset password key.
|
192
|
+
# Don't put a too small interval or your users won't have the time to
|
193
|
+
# change their passwords.
|
194
|
+
config.reset_password_within = 6.hours
|
195
|
+
|
196
|
+
# When set to false, does not sign a user in automatically after their password is
|
197
|
+
# reset. Defaults to true, so a user is signed in automatically after a reset.
|
198
|
+
# config.sign_in_after_reset_password = true
|
199
|
+
|
200
|
+
# ==> Configuration for :encryptable
|
201
|
+
# Allow you to use another encryption algorithm besides bcrypt (default). You can use
|
202
|
+
# :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1,
|
203
|
+
# :authlogic_sha512 (then you should set stretches above to 20 for default behavior)
|
204
|
+
# and :restful_authentication_sha1 (then you should set stretches to 10, and copy
|
205
|
+
# REST_AUTH_SITE_KEY to pepper).
|
206
|
+
#
|
207
|
+
# Require the `devise-encryptable` gem when using anything other than bcrypt
|
208
|
+
# config.encryptor = :sha512
|
209
|
+
|
210
|
+
# ==> Scopes configuration
|
211
|
+
# Turn scoped views on. Before rendering "sessions/new", it will first check for
|
212
|
+
# "users/sessions/new". It's turned off by default because it's slower if you
|
213
|
+
# are using only default views.
|
214
|
+
# config.scoped_views = false
|
215
|
+
|
216
|
+
# Configure the default scope given to Warden. By default it's the first
|
217
|
+
# devise role declared in your routes (usually :user).
|
218
|
+
# config.default_scope = :user
|
219
|
+
|
220
|
+
# Set this configuration to false if you want /users/sign_out to sign out
|
221
|
+
# only the current scope. By default, Devise signs out all scopes.
|
222
|
+
# config.sign_out_all_scopes = true
|
223
|
+
|
224
|
+
# ==> Navigation configuration
|
225
|
+
# Lists the formats that should be treated as navigational. Formats like
|
226
|
+
# :html, should redirect to the sign in page when the user does not have
|
227
|
+
# access, but formats like :xml or :json, should return 401.
|
228
|
+
#
|
229
|
+
# If you have any extra navigational formats, like :iphone or :mobile, you
|
230
|
+
# should add them to the navigational formats lists.
|
231
|
+
#
|
232
|
+
# The "*/*" below is required to match Internet Explorer requests.
|
233
|
+
# config.navigational_formats = ['*/*', :html]
|
234
|
+
|
235
|
+
# The default HTTP method used to sign out a resource. Default is :delete.
|
236
|
+
config.sign_out_via = :delete
|
237
|
+
|
238
|
+
# ==> OmniAuth
|
239
|
+
# Add a new OmniAuth provider. Check the wiki for more information on setting
|
240
|
+
# up on your models and hooks.
|
241
|
+
# config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo'
|
242
|
+
|
243
|
+
# ==> Warden configuration
|
244
|
+
# If you want to use other strategies, that are not supported by Devise, or
|
245
|
+
# change the failure app, you can configure them inside the config.warden block.
|
246
|
+
#
|
247
|
+
# config.warden do |manager|
|
248
|
+
# manager.intercept_401 = false
|
249
|
+
# manager.default_strategies(scope: :user).unshift :some_external_strategy
|
250
|
+
# end
|
251
|
+
|
252
|
+
# ==> Mountable engine configurations
|
253
|
+
# When using Devise inside an engine, let's call it `MyEngine`, and this engine
|
254
|
+
# is mountable, there are some extra configurations to be taken into account.
|
255
|
+
# The following options are available, assuming the engine is mounted as:
|
256
|
+
#
|
257
|
+
# mount MyEngine, at: '/my_engine'
|
258
|
+
#
|
259
|
+
# The router that invoked `devise_for`, in the example above, would be:
|
260
|
+
# config.router_name = :my_engine
|
261
|
+
#
|
262
|
+
# When using OmniAuth, Devise cannot automatically set OmniAuth path,
|
263
|
+
# so you need to do it manually. For the users scope, it would be:
|
264
|
+
# config.omniauth_path_prefix = '/my_engine/users/auth'
|
265
|
+
|
266
|
+
## =========================================================================
|
267
|
+
## DEVISE SAML STUFF BELOW
|
268
|
+
|
269
|
+
# ==> Configuration for :saml_authenticatable
|
270
|
+
|
271
|
+
# Create user if the user does not exist. (Default is false)
|
272
|
+
config.saml_create_user = true
|
273
|
+
|
274
|
+
# Update the attributes of the user after a successful login. (Default is false)
|
275
|
+
config.saml_update_user = true
|
276
|
+
|
277
|
+
# Set the default user key. The user will be looked up by this key. Make
|
278
|
+
# sure that the Authentication Response includes the attribute.
|
279
|
+
config.saml_default_user_key = :email
|
280
|
+
|
281
|
+
# Optional. This stores the session index defined by the IDP during login. If provided it will be used as a salt
|
282
|
+
# for the user's session to facilitate an IDP initiated logout request.
|
283
|
+
config.saml_session_index_key = :session_index
|
284
|
+
|
285
|
+
# You can set this value to use Subject or SAML assertation as info to which email will be compared
|
286
|
+
# If you don't set it then email will be extracted from SAML assertation attributes
|
287
|
+
config.saml_use_subject = true
|
288
|
+
|
289
|
+
# Configure with your SAML settings (see [ruby-saml][] for more information).
|
290
|
+
config.saml_configure do |settings|
|
291
|
+
settings.name_identifier_format = APP_CONFIG['saml_name_identifier_format']
|
292
|
+
settings.issuer = APP_CONFIG['saml_issuer']
|
293
|
+
settings.idp_slo_target_url = ENV['SAML_SLO_TARGET']
|
294
|
+
settings.idp_sso_target_url = ENV['SAML_SSO_TARGET']
|
295
|
+
settings.idp_cert = ENV['SAML_IDP_CERT']
|
296
|
+
end
|
297
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Haml::Template.options[:ugly] = true
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Add new inflection rules using the following format. Inflections
|
4
|
+
# are locale specific, and you may define rules for as many different
|
5
|
+
# locales as you wish. All of these examples are active by default:
|
6
|
+
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
7
|
+
# inflect.plural /^(ox)$/i, '\1en'
|
8
|
+
# inflect.singular /^(ox)en/i, '\1'
|
9
|
+
# inflect.irregular 'person', 'people'
|
10
|
+
# inflect.uncountable %w( fish sheep )
|
11
|
+
# end
|
12
|
+
|
13
|
+
# These inflection rules are supported but not enabled by default:
|
14
|
+
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
15
|
+
# inflect.acronym 'RESTful'
|
16
|
+
# end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'net/https'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Pester.configure do |c|
|
2
|
+
c.logger = Rails.logger
|
3
|
+
|
4
|
+
c.environments[:schema_refresh] = {
|
5
|
+
delay_interval: 0,
|
6
|
+
on_retry: Pester::Behaviors::Sleep::Constant
|
7
|
+
}
|
8
|
+
|
9
|
+
c.environments[:s3] = {
|
10
|
+
delay_interval: 30.seconds,
|
11
|
+
max_attempts: 10,
|
12
|
+
on_retry: Pester::Behaviors::Sleep::Constant,
|
13
|
+
reraise_error_classes: [Aws::S3::Errors::NoSuchKey, Aws::S3::Errors::NoSuchBucket]
|
14
|
+
}
|
15
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
RailsAdmin.config do |config|
|
2
|
+
config.authenticate_with do
|
3
|
+
redirect_to main_app.root_path unless current_user.role == Role::ADMIN_ROLE
|
4
|
+
end
|
5
|
+
|
6
|
+
config.included_models = ['User']
|
7
|
+
|
8
|
+
config.model 'User' do
|
9
|
+
exclude_fields :remember_created_at
|
10
|
+
if Authentication.type.saml?
|
11
|
+
exclude_fields :password
|
12
|
+
exclude_fields :password_confirmation
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
config.actions do
|
17
|
+
dashboard
|
18
|
+
index
|
19
|
+
new
|
20
|
+
export
|
21
|
+
bulk_delete
|
22
|
+
show
|
23
|
+
edit
|
24
|
+
delete
|
25
|
+
show_in_app
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
rails_root = ENV['RAILS_ROOT'] || File.dirname(__FILE__) + '/../..'
|
2
|
+
rails_env = ENV['RAILS_ENV'] || (Rails.env.to_s rescue 'development')
|
3
|
+
|
4
|
+
resque_config = YAML.load_file(rails_root + '/config/resque.yml')[rails_env]
|
5
|
+
redis = Redis.new(url: ENV['REDIS_URL'])
|
6
|
+
redis = Redis::Namespace.new(resque_config.fetch('namespace', 'aleph'), redis: redis)
|
7
|
+
Redis.current = redis
|
8
|
+
Resque.redis = redis
|
9
|
+
|
10
|
+
Resque.inline = resque_config['inline']
|
11
|
+
|
12
|
+
Resque.after_fork = Proc.new do
|
13
|
+
ActiveRecord::Base.establish_connection
|
14
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'rollbar/rails'
|
2
|
+
Rollbar.configure do |config|
|
3
|
+
# Without configuration, Rollbar is enabled in all environments.
|
4
|
+
# To disable in specific environments, set config.enabled=false.
|
5
|
+
|
6
|
+
config.access_token = ENV['ROLLBAR_SERVER_KEY']
|
7
|
+
config.enabled = config.access_token.present?
|
8
|
+
|
9
|
+
# By default, Rollbar will try to call the `current_user` controller method
|
10
|
+
# to fetch the logged-in user object, and then call that object's `id`,
|
11
|
+
# `username`, and `email` methods to fetch those properties. To customize:
|
12
|
+
config.person_username_method = 'name'
|
13
|
+
config.person_email_method = 'email'
|
14
|
+
|
15
|
+
# If you want to attach custom data to all exception and message reports,
|
16
|
+
# provide a lambda like the following. It should return a hash.
|
17
|
+
# config.custom_data_method = lambda { {:some_key => "some_value" } }
|
18
|
+
|
19
|
+
# Add exception class names to the exception_level_filters hash to
|
20
|
+
# change the level that exception is reported at. Note that if an exception
|
21
|
+
# has already been reported and logged the level will need to be changed
|
22
|
+
# via the rollbar interface.
|
23
|
+
# Valid levels: 'critical', 'error', 'warning', 'info', 'debug', 'ignore'
|
24
|
+
# 'ignore' will cause the exception to not be reported at all.
|
25
|
+
# config.exception_level_filters.merge!('MyCriticalException' => 'critical')
|
26
|
+
#
|
27
|
+
# You can also specify a callable, which will be called with the exception instance.
|
28
|
+
# config.exception_level_filters.merge!('MyCriticalException' => lambda { |e| 'critical' })
|
29
|
+
|
30
|
+
# Enable asynchronous reporting (uses girl_friday or Threading if girl_friday
|
31
|
+
# is not installed)
|
32
|
+
config.use_async = true
|
33
|
+
# Supply your own async handler:
|
34
|
+
# config.async_handler = Proc.new { |payload|
|
35
|
+
# Thread.new { Rollbar.process_from_async_handler(payload) }
|
36
|
+
# }
|
37
|
+
|
38
|
+
# Enable asynchronous reporting (using sucker_punch)
|
39
|
+
# config.use_sucker_punch
|
40
|
+
|
41
|
+
# Enable delayed reporting (using Sidekiq)
|
42
|
+
# config.use_sidekiq
|
43
|
+
# You can supply custom Sidekiq options:
|
44
|
+
# config.use_sidekiq 'queue' => 'my_queue'
|
45
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
class String
|
2
|
+
def to_bool
|
3
|
+
return true if self == true || self =~ (/^(true|t|yes|y|1)$/i)
|
4
|
+
return false if self == false || self.blank? || self =~ (/^(false|f|no|n|0)$/i)
|
5
|
+
raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class Fixnum
|
10
|
+
def to_bool
|
11
|
+
return true if self == 1
|
12
|
+
return false if self == 0
|
13
|
+
raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class TrueClass
|
18
|
+
def to_i; 1; end
|
19
|
+
def to_bool; self; end
|
20
|
+
end
|
21
|
+
|
22
|
+
class FalseClass
|
23
|
+
def to_i; 0; end
|
24
|
+
def to_bool; self; end
|
25
|
+
end
|
26
|
+
|
27
|
+
class NilClass
|
28
|
+
def to_bool; false; end
|
29
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# This file contains settings for ActionController::ParamsWrapper which
|
4
|
+
# is enabled by default.
|
5
|
+
|
6
|
+
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
|
+
ActiveSupport.on_load(:action_controller) do
|
8
|
+
wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
|
9
|
+
end
|
10
|
+
|
11
|
+
# To enable root element in JSON for ActiveRecord objects.
|
12
|
+
# ActiveSupport.on_load(:active_record) do
|
13
|
+
# self.include_root_in_json = true
|
14
|
+
# end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
|
2
|
+
|
3
|
+
en:
|
4
|
+
devise:
|
5
|
+
confirmations:
|
6
|
+
confirmed: "Your email address has been successfully confirmed."
|
7
|
+
send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
|
8
|
+
send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes."
|
9
|
+
failure:
|
10
|
+
already_authenticated: "You are already signed in."
|
11
|
+
inactive: "Your account is not activated yet."
|
12
|
+
invalid: "Invalid %{authentication_keys} or password."
|
13
|
+
locked: "Your account is locked."
|
14
|
+
last_attempt: "You have one more attempt before your account is locked."
|
15
|
+
not_found_in_database: "Invalid %{authentication_keys} or password."
|
16
|
+
timeout: "Your session expired. Please sign in again to continue."
|
17
|
+
unauthenticated: "You need to sign in or sign up before continuing."
|
18
|
+
unconfirmed: "You have to confirm your email address before continuing."
|
19
|
+
mailer:
|
20
|
+
confirmation_instructions:
|
21
|
+
subject: "Confirmation instructions"
|
22
|
+
reset_password_instructions:
|
23
|
+
subject: "Reset password instructions"
|
24
|
+
unlock_instructions:
|
25
|
+
subject: "Unlock instructions"
|
26
|
+
password_change:
|
27
|
+
subject: "Password Changed"
|
28
|
+
omniauth_callbacks:
|
29
|
+
failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
|
30
|
+
success: "Successfully authenticated from %{kind} account."
|
31
|
+
passwords:
|
32
|
+
no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
|
33
|
+
send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes."
|
34
|
+
send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
|
35
|
+
updated: "Your password has been changed successfully. You are now signed in."
|
36
|
+
updated_not_active: "Your password has been changed successfully."
|
37
|
+
registrations:
|
38
|
+
destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon."
|
39
|
+
signed_up: "Welcome! You have signed up successfully."
|
40
|
+
signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
|
41
|
+
signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
|
42
|
+
signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
|
43
|
+
update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address."
|
44
|
+
updated: "Your account has been updated successfully."
|
45
|
+
sessions:
|
46
|
+
signed_in: "Signed in successfully."
|
47
|
+
signed_out: "Signed out successfully."
|
48
|
+
already_signed_out: "Signed out successfully."
|
49
|
+
unlocks:
|
50
|
+
send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes."
|
51
|
+
send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes."
|
52
|
+
unlocked: "Your account has been unlocked successfully. Please sign in to continue."
|
53
|
+
errors:
|
54
|
+
messages:
|
55
|
+
already_confirmed: "was already confirmed, please try signing in"
|
56
|
+
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
|
57
|
+
expired: "has expired, please request a new one"
|
58
|
+
not_found: "not found"
|
59
|
+
not_locked: "was not locked"
|
60
|
+
not_saved:
|
61
|
+
one: "1 error prohibited this %{resource} from being saved:"
|
62
|
+
other: "%{count} errors prohibited this %{resource} from being saved:"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Files in the config/locales directory are used for internationalization
|
2
|
+
# and are automatically loaded by Rails. If you want to use locales other
|
3
|
+
# than English, add the necessary files in this directory.
|
4
|
+
#
|
5
|
+
# To use the locales, use `I18n.t`:
|
6
|
+
#
|
7
|
+
# I18n.t 'hello'
|
8
|
+
#
|
9
|
+
# In views, this is aliased to just `t`:
|
10
|
+
#
|
11
|
+
# <%= t('hello') %>
|
12
|
+
#
|
13
|
+
# To use a different locale, set it with `I18n.locale`:
|
14
|
+
#
|
15
|
+
# I18n.locale = :es
|
16
|
+
#
|
17
|
+
# This would use the information in config/locales/es.yml.
|
18
|
+
#
|
19
|
+
# To learn more, please read the Rails Internationalization guide
|
20
|
+
# available at http://guides.rubyonrails.org/i18n.html.
|
21
|
+
|
22
|
+
en:
|
23
|
+
hello: "Hello world"
|
data/config/puma.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
threads 0, 16
|
2
|
+
workers ENV['WORKER_PROCESSES'].to_i
|
3
|
+
bind 'tcp://0.0.0.0:3000'
|
4
|
+
|
5
|
+
if ENV['RAILS_ENV'] == 'production' || ENV['RAILS_ENV'] == 'staging'
|
6
|
+
log_root = ENV['SERVER_LOG_ROOT'] || '/var/log/aleph'
|
7
|
+
stdout_dir = File.join(log_root, 'puma.stdout.log')
|
8
|
+
stderr_dir = File.join(log_root, 'puma.stderr.log')
|
9
|
+
stdout_redirect stdout_dir, stderr_dir, true
|
10
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
queues_common: &queues_common
|
2
|
+
query_exec: <%= ENV['ALEPH_QUERY_EXEC_WORKER_POOL'] %>
|
3
|
+
alert_exec: <%= ENV['ALEPH_ALERT_EXEC_WORKER_POOL'] %>
|
4
|
+
|
5
|
+
production:
|
6
|
+
<<: *queues_common
|
7
|
+
|
8
|
+
staging:
|
9
|
+
<<: *queues_common
|
10
|
+
|
11
|
+
development:
|
12
|
+
<<: *queues_common
|
13
|
+
|
14
|
+
playground:
|
15
|
+
<<: *queues_common
|
data/config/resque.yml
ADDED
data/config/routes.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'resque_web'
|
2
|
+
|
3
|
+
Rails.application.routes.draw do
|
4
|
+
mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
|
5
|
+
devise_for :users
|
6
|
+
|
7
|
+
resources :queries do
|
8
|
+
resources :query_versions, only: [:index, :show] do
|
9
|
+
resources :results, only: [:index, :show, :create, :destroy]
|
10
|
+
resources :visualizations, only: [:index, :create, :update, :destroy]
|
11
|
+
end
|
12
|
+
resources :results, only: :create
|
13
|
+
end
|
14
|
+
|
15
|
+
resources :columns, only: [:index]
|
16
|
+
resources :roles, only: [:index]
|
17
|
+
resources :tags, only: [:index, :create, :destroy]
|
18
|
+
resources :alerts, only: [:show, :index, :create, :update, :destroy]
|
19
|
+
resources :snippets, only: [:show, :index, :create, :update, :destroy]
|
20
|
+
resources :query_versions, only: :show
|
21
|
+
resources :results, only: [:show, :create, :destroy]
|
22
|
+
resources :visualizations, only: [:create, :update, :destroy]
|
23
|
+
resources :schema_comments, only: [:create, :update, :destroy]
|
24
|
+
resources :result_csvs, only: :show
|
25
|
+
|
26
|
+
mount ResqueWeb::Engine => "/resque_web"
|
27
|
+
|
28
|
+
root :to => 'application#index'
|
29
|
+
|
30
|
+
# first step in any request is that we need to serve the angular app
|
31
|
+
get '*path' => 'application#index'
|
32
|
+
ResqueWeb::Engine.eager_load!
|
33
|
+
end
|