gooddata 1.0.0-java
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/.document +5 -0
- data/.editorconfig +12 -0
- data/.flayignore +6 -0
- data/.gitignore +38 -0
- data/.pronto.yml +3 -0
- data/.rspec +5 -0
- data/.rubocop.yml +101 -0
- data/.travis.yml +9 -0
- data/.yardopts +22 -0
- data/CHANGELOG.md +272 -0
- data/CLI.md +435 -0
- data/CONTRIBUTING.md +38 -0
- data/DEPENDENCIES.md +880 -0
- data/Dockerfile.jruby +17 -0
- data/Dockerfile.ruby +19 -0
- data/Gemfile +4 -0
- data/Guardfile +5 -0
- data/LICENSE +22 -0
- data/LICENSE.rb +5 -0
- data/README.md +78 -0
- data/Rakefile +204 -0
- data/TODO.md +32 -0
- data/authors.sh +4 -0
- data/bin/gooddata +7 -0
- data/ci.rake +47 -0
- data/dependency_decisions.yml +104 -0
- data/docker-compose.yml +34 -0
- data/gooddata +9 -0
- data/gooddata.gemspec +72 -0
- data/lib/gooddata.rb +34 -0
- data/lib/gooddata/app/app.rb +16 -0
- data/lib/gooddata/bricks/base_downloader.rb +86 -0
- data/lib/gooddata/bricks/brick.rb +37 -0
- data/lib/gooddata/bricks/bricks.rb +17 -0
- data/lib/gooddata/bricks/middleware/aws_middleware.rb +41 -0
- data/lib/gooddata/bricks/middleware/base_middleware.rb +57 -0
- data/lib/gooddata/bricks/middleware/bench_middleware.rb +25 -0
- data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +37 -0
- data/lib/gooddata/bricks/middleware/decode_params_middleware.rb +21 -0
- data/lib/gooddata/bricks/middleware/dwh_middleware.rb +41 -0
- data/lib/gooddata/bricks/middleware/fs_download_middleware.rb +48 -0
- data/lib/gooddata/bricks/middleware/fs_upload_middleware.rb +36 -0
- data/lib/gooddata/bricks/middleware/gooddata_middleware.rb +112 -0
- data/lib/gooddata/bricks/middleware/logger_middleware.rb +33 -0
- data/lib/gooddata/bricks/middleware/middleware.rb +12 -0
- data/lib/gooddata/bricks/middleware/restforce_middleware.rb +58 -0
- data/lib/gooddata/bricks/middleware/stdout_middleware.rb +23 -0
- data/lib/gooddata/bricks/middleware/twitter_middleware.rb +29 -0
- data/lib/gooddata/bricks/middleware/undot_params_middleware.rb +37 -0
- data/lib/gooddata/bricks/pipeline.rb +25 -0
- data/lib/gooddata/bricks/utils.rb +18 -0
- data/lib/gooddata/cli/cli.rb +27 -0
- data/lib/gooddata/cli/commands/auth_cmd.rb +29 -0
- data/lib/gooddata/cli/commands/domain_cmd.rb +28 -0
- data/lib/gooddata/cli/commands/project_cmd.rb +28 -0
- data/lib/gooddata/cli/hooks.rb +56 -0
- data/lib/gooddata/cli/shared.rb +66 -0
- data/lib/gooddata/cli/terminal.rb +20 -0
- data/lib/gooddata/client.rb +67 -0
- data/lib/gooddata/commands/api.rb +64 -0
- data/lib/gooddata/commands/auth.rb +107 -0
- data/lib/gooddata/commands/base.rb +12 -0
- data/lib/gooddata/commands/commands.rb +12 -0
- data/lib/gooddata/commands/datasets.rb +148 -0
- data/lib/gooddata/commands/datawarehouse.rb +20 -0
- data/lib/gooddata/commands/domain.rb +40 -0
- data/lib/gooddata/commands/process.rb +67 -0
- data/lib/gooddata/commands/project.rb +144 -0
- data/lib/gooddata/commands/projects.rb +20 -0
- data/lib/gooddata/commands/role.rb +36 -0
- data/lib/gooddata/commands/runners.rb +47 -0
- data/lib/gooddata/commands/scaffold.rb +69 -0
- data/lib/gooddata/commands/user.rb +39 -0
- data/lib/gooddata/connection.rb +127 -0
- data/lib/gooddata/core/core.rb +12 -0
- data/lib/gooddata/core/logging.rb +105 -0
- data/lib/gooddata/core/nil_logger.rb +32 -0
- data/lib/gooddata/core/project.rb +74 -0
- data/lib/gooddata/core/rest.rb +149 -0
- data/lib/gooddata/core/user.rb +20 -0
- data/lib/gooddata/data/data.rb +12 -0
- data/lib/gooddata/data/guesser.rb +122 -0
- data/lib/gooddata/exceptions/attr_element_not_found.rb +16 -0
- data/lib/gooddata/exceptions/command_failed.rb +11 -0
- data/lib/gooddata/exceptions/exceptions.rb +12 -0
- data/lib/gooddata/exceptions/execution_limit_exceeded.rb +13 -0
- data/lib/gooddata/exceptions/export_clone.rb +4 -0
- data/lib/gooddata/exceptions/filter_maqlization.rb +16 -0
- data/lib/gooddata/exceptions/import_clone.rb +4 -0
- data/lib/gooddata/exceptions/malformed_user.rb +15 -0
- data/lib/gooddata/exceptions/maql_execution.rb +16 -0
- data/lib/gooddata/exceptions/no_project_error.rb +19 -0
- data/lib/gooddata/exceptions/object_migration.rb +32 -0
- data/lib/gooddata/exceptions/project_not_found.rb +13 -0
- data/lib/gooddata/exceptions/segment_not_empty.rb +18 -0
- data/lib/gooddata/exceptions/uncomputable_report.rb +13 -0
- data/lib/gooddata/exceptions/user_in_different_domain.rb +15 -0
- data/lib/gooddata/exceptions/validation_error.rb +16 -0
- data/lib/gooddata/extensions/big_decimal.rb +17 -0
- data/lib/gooddata/extensions/class.rb +11 -0
- data/lib/gooddata/extensions/enumerable.rb +39 -0
- data/lib/gooddata/extensions/extensions.rb +10 -0
- data/lib/gooddata/extensions/false.rb +23 -0
- data/lib/gooddata/extensions/hash.rb +49 -0
- data/lib/gooddata/extensions/integer.rb +5 -0
- data/lib/gooddata/extensions/nil.rb +19 -0
- data/lib/gooddata/extensions/numeric.rb +15 -0
- data/lib/gooddata/extensions/object.rb +31 -0
- data/lib/gooddata/extensions/string.rb +7 -0
- data/lib/gooddata/extensions/symbol.rb +15 -0
- data/lib/gooddata/extensions/true.rb +23 -0
- data/lib/gooddata/extract.rb +21 -0
- data/lib/gooddata/goodzilla/goodzilla.rb +160 -0
- data/lib/gooddata/helpers/auth_helpers.rb +75 -0
- data/lib/gooddata/helpers/csv_helper.rb +61 -0
- data/lib/gooddata/helpers/data_helper.rb +129 -0
- data/lib/gooddata/helpers/erb_helper.rb +23 -0
- data/lib/gooddata/helpers/global_helpers.rb +266 -0
- data/lib/gooddata/helpers/global_helpers_params.rb +292 -0
- data/lib/gooddata/helpers/helpers.rb +10 -0
- data/lib/gooddata/lcm/actions/actions.rb +12 -0
- data/lib/gooddata/lcm/actions/apply_custom_maql.rb +80 -0
- data/lib/gooddata/lcm/actions/associate_clients.rb +87 -0
- data/lib/gooddata/lcm/actions/base_action.rb +23 -0
- data/lib/gooddata/lcm/actions/collect_ca_metrics.rb +53 -0
- data/lib/gooddata/lcm/actions/collect_client_projects.rb +78 -0
- data/lib/gooddata/lcm/actions/collect_clients.rb +128 -0
- data/lib/gooddata/lcm/actions/collect_data_product.rb +57 -0
- data/lib/gooddata/lcm/actions/collect_dynamic_schedule_params.rb +62 -0
- data/lib/gooddata/lcm/actions/collect_ldm_objects.rb +56 -0
- data/lib/gooddata/lcm/actions/collect_meta.rb +88 -0
- data/lib/gooddata/lcm/actions/collect_segment_clients.rb +113 -0
- data/lib/gooddata/lcm/actions/collect_segments.rb +72 -0
- data/lib/gooddata/lcm/actions/collect_tagged_objects.rb +80 -0
- data/lib/gooddata/lcm/actions/collect_users_brick_users.rb +46 -0
- data/lib/gooddata/lcm/actions/create_segment_masters.rb +160 -0
- data/lib/gooddata/lcm/actions/ensure_data_product.rb +53 -0
- data/lib/gooddata/lcm/actions/ensure_release_table.rb +53 -0
- data/lib/gooddata/lcm/actions/ensure_segments.rb +32 -0
- data/lib/gooddata/lcm/actions/ensure_technical_users_domain.rb +70 -0
- data/lib/gooddata/lcm/actions/ensure_technical_users_project.rb +83 -0
- data/lib/gooddata/lcm/actions/execute_schedules.rb +128 -0
- data/lib/gooddata/lcm/actions/hello_world.rb +41 -0
- data/lib/gooddata/lcm/actions/import_object_collections.rb +60 -0
- data/lib/gooddata/lcm/actions/print_actions.rb +58 -0
- data/lib/gooddata/lcm/actions/print_modes.rb +69 -0
- data/lib/gooddata/lcm/actions/print_types.rb +52 -0
- data/lib/gooddata/lcm/actions/provision_clients.rb +89 -0
- data/lib/gooddata/lcm/actions/purge_clients.rb +58 -0
- data/lib/gooddata/lcm/actions/rename_existing_client_projects.rb +70 -0
- data/lib/gooddata/lcm/actions/segments_filter.rb +50 -0
- data/lib/gooddata/lcm/actions/synchronize_attribute_drillpaths.rb +64 -0
- data/lib/gooddata/lcm/actions/synchronize_cas.rb +72 -0
- data/lib/gooddata/lcm/actions/synchronize_clients.rb +94 -0
- data/lib/gooddata/lcm/actions/synchronize_color_palette.rb +67 -0
- data/lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb +155 -0
- data/lib/gooddata/lcm/actions/synchronize_label_types.rb +64 -0
- data/lib/gooddata/lcm/actions/synchronize_ldm.rb +82 -0
- data/lib/gooddata/lcm/actions/synchronize_meta.rb +52 -0
- data/lib/gooddata/lcm/actions/synchronize_new_segments.rb +61 -0
- data/lib/gooddata/lcm/actions/synchronize_processes.rb +66 -0
- data/lib/gooddata/lcm/actions/synchronize_schedules.rb +91 -0
- data/lib/gooddata/lcm/actions/synchronize_tag_objects.rb +64 -0
- data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +210 -0
- data/lib/gooddata/lcm/actions/synchronize_user_groups.rb +53 -0
- data/lib/gooddata/lcm/actions/synchronize_users.rb +336 -0
- data/lib/gooddata/lcm/actions/update_release_table.rb +77 -0
- data/lib/gooddata/lcm/data/create_lcm_release.sql.erb +6 -0
- data/lib/gooddata/lcm/data/insert_into_lcm_release.sql.erb +11 -0
- data/lib/gooddata/lcm/data/select_from_lcm_release.sql.erb +8 -0
- data/lib/gooddata/lcm/data/update_lcm_release.sql.erb +7 -0
- data/lib/gooddata/lcm/dsl/dsl.rb +50 -0
- data/lib/gooddata/lcm/dsl/params_dsl.rb +61 -0
- data/lib/gooddata/lcm/dsl/type_dsl.rb +62 -0
- data/lib/gooddata/lcm/helpers/check_helper.rb +41 -0
- data/lib/gooddata/lcm/helpers/helpers.rb +12 -0
- data/lib/gooddata/lcm/helpers/tags_helper.rb +36 -0
- data/lib/gooddata/lcm/lcm.rb +325 -0
- data/lib/gooddata/lcm/lcm2.rb +400 -0
- data/lib/gooddata/lcm/types/base_type.rb +29 -0
- data/lib/gooddata/lcm/types/class/ads_client.rb +35 -0
- data/lib/gooddata/lcm/types/class/class.rb +21 -0
- data/lib/gooddata/lcm/types/class/gd_client.rb +35 -0
- data/lib/gooddata/lcm/types/class/types.rb +12 -0
- data/lib/gooddata/lcm/types/complex/complex.rb +33 -0
- data/lib/gooddata/lcm/types/complex/release_query.rb +35 -0
- data/lib/gooddata/lcm/types/complex/segment.rb +40 -0
- data/lib/gooddata/lcm/types/complex/synchronization_info.rb +35 -0
- data/lib/gooddata/lcm/types/complex/tokens.rb +31 -0
- data/lib/gooddata/lcm/types/complex/types.rb +12 -0
- data/lib/gooddata/lcm/types/complex/update_preference.rb +38 -0
- data/lib/gooddata/lcm/types/complex/users_brick_config.rb +32 -0
- data/lib/gooddata/lcm/types/param.rb +16 -0
- data/lib/gooddata/lcm/types/scalar/bool.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/hash.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/integer.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/object.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/string.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/types.rb +12 -0
- data/lib/gooddata/lcm/types/special/array.rb +33 -0
- data/lib/gooddata/lcm/types/special/enum.rb +15 -0
- data/lib/gooddata/lcm/types/special/types.rb +12 -0
- data/lib/gooddata/lcm/types/types.rb +12 -0
- data/lib/gooddata/lcm/user_bricks_helper.rb +32 -0
- data/lib/gooddata/mixins/author.rb +26 -0
- data/lib/gooddata/mixins/content_getter.rb +15 -0
- data/lib/gooddata/mixins/content_property_reader.rb +17 -0
- data/lib/gooddata/mixins/content_property_writer.rb +17 -0
- data/lib/gooddata/mixins/contributor.rb +20 -0
- data/lib/gooddata/mixins/data_getter.rb +15 -0
- data/lib/gooddata/mixins/data_property_reader.rb +19 -0
- data/lib/gooddata/mixins/data_property_writer.rb +19 -0
- data/lib/gooddata/mixins/inspector.rb +53 -0
- data/lib/gooddata/mixins/is_attribute.rb +17 -0
- data/lib/gooddata/mixins/is_dimension.rb +17 -0
- data/lib/gooddata/mixins/is_fact.rb +17 -0
- data/lib/gooddata/mixins/is_folder.rb +11 -0
- data/lib/gooddata/mixins/is_label.rb +19 -0
- data/lib/gooddata/mixins/links.rb +15 -0
- data/lib/gooddata/mixins/md_finders.rb +79 -0
- data/lib/gooddata/mixins/md_grantees.rb +42 -0
- data/lib/gooddata/mixins/md_id_to_uri.rb +39 -0
- data/lib/gooddata/mixins/md_json.rb +15 -0
- data/lib/gooddata/mixins/md_lock.rb +87 -0
- data/lib/gooddata/mixins/md_object_id.rb +15 -0
- data/lib/gooddata/mixins/md_object_indexer.rb +74 -0
- data/lib/gooddata/mixins/md_object_query.rb +134 -0
- data/lib/gooddata/mixins/md_relations.rb +43 -0
- data/lib/gooddata/mixins/meta_getter.rb +17 -0
- data/lib/gooddata/mixins/meta_property_reader.rb +19 -0
- data/lib/gooddata/mixins/meta_property_writer.rb +19 -0
- data/lib/gooddata/mixins/mixins.rb +19 -0
- data/lib/gooddata/mixins/not_attribute.rb +17 -0
- data/lib/gooddata/mixins/not_exportable.rb +15 -0
- data/lib/gooddata/mixins/not_fact.rb +17 -0
- data/lib/gooddata/mixins/not_group.rb +17 -0
- data/lib/gooddata/mixins/not_label.rb +19 -0
- data/lib/gooddata/mixins/not_metric.rb +19 -0
- data/lib/gooddata/mixins/obj_id.rb +15 -0
- data/lib/gooddata/mixins/rest_getters.rb +17 -0
- data/lib/gooddata/mixins/rest_resource.rb +47 -0
- data/lib/gooddata/mixins/root_key_getter.rb +15 -0
- data/lib/gooddata/mixins/root_key_setter.rb +15 -0
- data/lib/gooddata/mixins/timestamps.rb +19 -0
- data/lib/gooddata/mixins/to_json.rb +11 -0
- data/lib/gooddata/mixins/uri_getter.rb +9 -0
- data/lib/gooddata/models/ads_output_stage.rb +85 -0
- data/lib/gooddata/models/automated_data_distribution.rb +36 -0
- data/lib/gooddata/models/blueprint/anchor_field.rb +65 -0
- data/lib/gooddata/models/blueprint/attribute_field.rb +45 -0
- data/lib/gooddata/models/blueprint/blueprint.rb +11 -0
- data/lib/gooddata/models/blueprint/blueprint_field.rb +70 -0
- data/lib/gooddata/models/blueprint/dashboard_builder.rb +30 -0
- data/lib/gooddata/models/blueprint/dataset_blueprint.rb +455 -0
- data/lib/gooddata/models/blueprint/date_dimension.rb +20 -0
- data/lib/gooddata/models/blueprint/fact_field.rb +20 -0
- data/lib/gooddata/models/blueprint/label_field.rb +47 -0
- data/lib/gooddata/models/blueprint/project_blueprint.rb +791 -0
- data/lib/gooddata/models/blueprint/project_builder.rb +103 -0
- data/lib/gooddata/models/blueprint/reference_field.rb +43 -0
- data/lib/gooddata/models/blueprint/schema_blueprint.rb +160 -0
- data/lib/gooddata/models/blueprint/schema_builder.rb +89 -0
- data/lib/gooddata/models/blueprint/to_manifest.rb +185 -0
- data/lib/gooddata/models/blueprint/to_wire.rb +173 -0
- data/lib/gooddata/models/channel_configuration.rb +112 -0
- data/lib/gooddata/models/client.rb +236 -0
- data/lib/gooddata/models/client_synchronization_result.rb +31 -0
- data/lib/gooddata/models/client_synchronization_result_details.rb +41 -0
- data/lib/gooddata/models/data_product.rb +149 -0
- data/lib/gooddata/models/datawarehouse.rb +114 -0
- data/lib/gooddata/models/domain.rb +505 -0
- data/lib/gooddata/models/execution.rb +115 -0
- data/lib/gooddata/models/execution_detail.rb +81 -0
- data/lib/gooddata/models/from_wire.rb +173 -0
- data/lib/gooddata/models/invitation.rb +75 -0
- data/lib/gooddata/models/links.rb +50 -0
- data/lib/gooddata/models/membership.rb +441 -0
- data/lib/gooddata/models/metadata.rb +324 -0
- data/lib/gooddata/models/metadata/attribute.rb +155 -0
- data/lib/gooddata/models/metadata/dashboard.rb +120 -0
- data/lib/gooddata/models/metadata/dashboard/dashboard_item.rb +76 -0
- data/lib/gooddata/models/metadata/dashboard/filter_apply_item.rb +37 -0
- data/lib/gooddata/models/metadata/dashboard/filter_item.rb +64 -0
- data/lib/gooddata/models/metadata/dashboard/geo_chart_item.rb +56 -0
- data/lib/gooddata/models/metadata/dashboard/headline_item.rb +56 -0
- data/lib/gooddata/models/metadata/dashboard/iframe_item.rb +46 -0
- data/lib/gooddata/models/metadata/dashboard/report_item.rb +92 -0
- data/lib/gooddata/models/metadata/dashboard/text_item.rb +55 -0
- data/lib/gooddata/models/metadata/dashboard_tab.rb +141 -0
- data/lib/gooddata/models/metadata/dataset.rb +67 -0
- data/lib/gooddata/models/metadata/dimension.rb +57 -0
- data/lib/gooddata/models/metadata/fact.rb +51 -0
- data/lib/gooddata/models/metadata/folder.rb +49 -0
- data/lib/gooddata/models/metadata/label.rb +128 -0
- data/lib/gooddata/models/metadata/metadata.rb +12 -0
- data/lib/gooddata/models/metadata/metric.rb +206 -0
- data/lib/gooddata/models/metadata/report.rb +268 -0
- data/lib/gooddata/models/metadata/report_definition.rb +272 -0
- data/lib/gooddata/models/metadata/scheduled_mail.rb +277 -0
- data/lib/gooddata/models/metadata/scheduled_mail/dashboard_attachment.rb +62 -0
- data/lib/gooddata/models/metadata/scheduled_mail/report_attachment.rb +64 -0
- data/lib/gooddata/models/metadata/variable.rb +96 -0
- data/lib/gooddata/models/model.rb +293 -0
- data/lib/gooddata/models/models.rb +12 -0
- data/lib/gooddata/models/module_constants.rb +31 -0
- data/lib/gooddata/models/notification_rule.rb +113 -0
- data/lib/gooddata/models/process.rb +371 -0
- data/lib/gooddata/models/profile.rb +451 -0
- data/lib/gooddata/models/project.rb +2030 -0
- data/lib/gooddata/models/project_creator.rb +209 -0
- data/lib/gooddata/models/project_log_formatter.rb +204 -0
- data/lib/gooddata/models/project_metadata.rb +67 -0
- data/lib/gooddata/models/project_role.rb +79 -0
- data/lib/gooddata/models/report_data_result.rb +270 -0
- data/lib/gooddata/models/schedule.rb +538 -0
- data/lib/gooddata/models/segment.rb +274 -0
- data/lib/gooddata/models/style_setting.rb +62 -0
- data/lib/gooddata/models/subscription.rb +188 -0
- data/lib/gooddata/models/tab_builder.rb +27 -0
- data/lib/gooddata/models/user_filters/mandatory_user_filter.rb +76 -0
- data/lib/gooddata/models/user_filters/user_filter.rb +101 -0
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +553 -0
- data/lib/gooddata/models/user_filters/user_filters.rb +13 -0
- data/lib/gooddata/models/user_filters/variable_user_filter.rb +33 -0
- data/lib/gooddata/models/user_group.rb +250 -0
- data/lib/gooddata/rest/README.md +37 -0
- data/lib/gooddata/rest/client.rb +396 -0
- data/lib/gooddata/rest/connection.rb +776 -0
- data/lib/gooddata/rest/object.rb +69 -0
- data/lib/gooddata/rest/object_factory.rb +51 -0
- data/lib/gooddata/rest/resource.rb +27 -0
- data/lib/gooddata/rest/rest.rb +24 -0
- data/lib/gooddata/version.rb +23 -0
- data/lib/templates/bricks/brick.rb.erb +7 -0
- data/lib/templates/bricks/main.rb.erb +5 -0
- data/lib/templates/project/Goodfile.erb +4 -0
- data/lib/templates/project/data/commits.csv +4 -0
- data/lib/templates/project/data/devs.csv +4 -0
- data/lib/templates/project/data/repos.csv +3 -0
- data/lib/templates/project/model/model.rb.erb +20 -0
- data/spec/.rubocop.yml +16 -0
- data/spec/bricks/bricks_spec.rb +110 -0
- data/spec/bricks/default-config.json +8 -0
- data/spec/data/.gooddata +4 -0
- data/spec/data/blueprints/additional_dataset_module.json +32 -0
- data/spec/data/blueprints/attribute_sort_order_blueprint.json +72 -0
- data/spec/data/blueprints/big_blueprint_not_pruned.json +2079 -0
- data/spec/data/blueprints/invalid_blueprint.json +103 -0
- data/spec/data/blueprints/m_n_model.json +104 -0
- data/spec/data/blueprints/model_module.json +25 -0
- data/spec/data/blueprints/test_blueprint.json +39 -0
- data/spec/data/blueprints/test_project_model_spec.json +106 -0
- data/spec/data/cc/data/source/commits.csv +4 -0
- data/spec/data/cc/data/source/devs.csv +4 -0
- data/spec/data/cc/data/source/repos.csv +3 -0
- data/spec/data/cc/devel.prm +0 -0
- data/spec/data/cc/graph/graph.grf +11 -0
- data/spec/data/cc/workspace.prm +19 -0
- data/spec/data/column_based_permissions.csv +7 -0
- data/spec/data/column_based_permissions2.csv +6 -0
- data/spec/data/dynamic_schedule_params_table.csv +7 -0
- data/spec/data/gd_gse_data_blueprint.json +1371 -0
- data/spec/data/gd_gse_data_manifest.json +1424 -0
- data/spec/data/gd_gse_data_model.json +1772 -0
- data/spec/data/gooddata_version_process/gooddata_version.rb +9 -0
- data/spec/data/gooddata_version_process/gooddata_version.zip +0 -0
- data/spec/data/hello_world_process/hello_world.rb +9 -0
- data/spec/data/hello_world_process/hello_world.zip +0 -0
- data/spec/data/line_based_permissions.csv +3 -0
- data/spec/data/manifests/test_blueprint.json +32 -0
- data/spec/data/manifests/test_project.json +107 -0
- data/spec/data/reports/left_attr_report.json +108 -0
- data/spec/data/reports/metric_only_one_line.json +83 -0
- data/spec/data/reports/report_1.json +197 -0
- data/spec/data/reports/top_attr_report.json +108 -0
- data/spec/data/ruby_params_process/ruby_params.rb +9 -0
- data/spec/data/ruby_process/deep_files/deep_stuff.txt +1 -0
- data/spec/data/ruby_process/process.rb +8 -0
- data/spec/data/ruby_process/stuff.txt +1 -0
- data/spec/data/superfluous_titles_view.json +81 -0
- data/spec/data/test-ci-data.csv +2 -0
- data/spec/data/users.csv +12 -0
- data/spec/data/wire_models/attribute_sort_by_model.json +73 -0
- data/spec/data/wire_models/model_view.json +1775 -0
- data/spec/data/wire_models/nu_model.json +3046 -0
- data/spec/data/wire_models/test_blueprint.json +66 -0
- data/spec/data/wire_test_project.json +150 -0
- data/spec/data/workspace_table.csv +3 -0
- data/spec/environment/default.rb +43 -0
- data/spec/environment/development.rb +32 -0
- data/spec/environment/environment.rb +38 -0
- data/spec/environment/production.rb +27 -0
- data/spec/environment/staging.rb +33 -0
- data/spec/environment/testing.rb +32 -0
- data/spec/helpers/blueprint_helper.rb +27 -0
- data/spec/helpers/cli_helper.rb +38 -0
- data/spec/helpers/connection_helper.rb +43 -0
- data/spec/helpers/crypto_helper.rb +19 -0
- data/spec/helpers/csv_helper.rb +20 -0
- data/spec/helpers/process_helper.rb +35 -0
- data/spec/helpers/project_helper.rb +74 -0
- data/spec/helpers/schedule_helper.rb +33 -0
- data/spec/helpers/spec_helper.rb +17 -0
- data/spec/integration/ads_output_stage_spec.rb +45 -0
- data/spec/integration/blueprint_updates_spec.rb +107 -0
- data/spec/integration/blueprint_with_ca_spec.rb +56 -0
- data/spec/integration/blueprint_with_grain_spec.rb +74 -0
- data/spec/integration/channel_configuration_spec.rb +67 -0
- data/spec/integration/clients_spec.rb +164 -0
- data/spec/integration/command_datawarehouse_spec.rb +45 -0
- data/spec/integration/command_projects_spec.rb +32 -0
- data/spec/integration/commands/command_projects_spec.rb +22 -0
- data/spec/integration/core/connection_spec.rb +56 -0
- data/spec/integration/core/logging_spec.rb +130 -0
- data/spec/integration/core/project_spec.rb +54 -0
- data/spec/integration/create_from_template_spec.rb +29 -0
- data/spec/integration/create_project_spec.rb +27 -0
- data/spec/integration/date_dim_switch_spec.rb +150 -0
- data/spec/integration/deprecated_load_spec.rb +60 -0
- data/spec/integration/full_process_schedule_spec.rb +367 -0
- data/spec/integration/full_project_spec.rb +592 -0
- data/spec/integration/helpers_spec.rb +16 -0
- data/spec/integration/lcm_spec.rb +54 -0
- data/spec/integration/mixins/id_to_uri_spec.rb +44 -0
- data/spec/integration/models/data_product_spec.rb +71 -0
- data/spec/integration/models/domain_spec.rb +162 -0
- data/spec/integration/models/invitation_spec.rb +17 -0
- data/spec/integration/models/membership_spec.rb +127 -0
- data/spec/integration/models/metadata/report_spec.rb +54 -0
- data/spec/integration/models/params_spec.rb +118 -0
- data/spec/integration/models/profile_spec.rb +210 -0
- data/spec/integration/models/project_role_spec.rb +94 -0
- data/spec/integration/models/project_spec.rb +225 -0
- data/spec/integration/models/schedule_spec.rb +485 -0
- data/spec/integration/models/unit_project_spec.rb +130 -0
- data/spec/integration/over_to_user_filters_spec.rb +98 -0
- data/spec/integration/partial_md_export_import_spec.rb +41 -0
- data/spec/integration/project_spec.rb +381 -0
- data/spec/integration/rest_spec.rb +214 -0
- data/spec/integration/schedule_spec.rb +613 -0
- data/spec/integration/segments_spec.rb +100 -0
- data/spec/integration/subscription_spec.rb +88 -0
- data/spec/integration/urn_date_dim_spec.rb +53 -0
- data/spec/integration/user_filters_spec.rb +306 -0
- data/spec/integration/user_group_spec.rb +147 -0
- data/spec/integration/variables_spec.rb +189 -0
- data/spec/logging_in_logging_out_spec.rb +91 -0
- data/spec/spec_helper.rb +66 -0
- data/spec/unit/actions/associate_clients_spec.rb +47 -0
- data/spec/unit/actions/collect_client_projects_spec.rb +47 -0
- data/spec/unit/actions/collect_clients_spec.rb +65 -0
- data/spec/unit/actions/collect_data_product_spec.rb +56 -0
- data/spec/unit/actions/collect_dynamic_schedule_params_spec.rb +56 -0
- data/spec/unit/actions/collect_meta_spec.rb +88 -0
- data/spec/unit/actions/collect_segment_clients_spec.rb +81 -0
- data/spec/unit/actions/collect_tagged_objects_spec.rb +126 -0
- data/spec/unit/actions/collect_users_brick_users_spec.rb +36 -0
- data/spec/unit/actions/create_segment_masters_spec.rb +64 -0
- data/spec/unit/actions/ensure_data_product_spec.rb +38 -0
- data/spec/unit/actions/ensure_technical_users_domain_spec.rb +51 -0
- data/spec/unit/actions/ensure_technical_users_project_spec.rb +72 -0
- data/spec/unit/actions/execute_schedules_spec.rb +94 -0
- data/spec/unit/actions/provision_clients_spec.rb +45 -0
- data/spec/unit/actions/purge_clients_spec.rb +47 -0
- data/spec/unit/actions/rename_existing_client_projects_spec.rb +54 -0
- data/spec/unit/actions/segments_filter_spec.rb +46 -0
- data/spec/unit/actions/shared_examples_for_user_actions.rb +26 -0
- data/spec/unit/actions/synchronize_cas_spec.rb +58 -0
- data/spec/unit/actions/synchronize_etls_in_segment_spec.rb +212 -0
- data/spec/unit/actions/synchronize_ldm_spec.rb +57 -0
- data/spec/unit/actions/synchronize_user_filters_spec.rb +146 -0
- data/spec/unit/actions/synchronize_user_groups_spec.rb +49 -0
- data/spec/unit/actions/synchronize_users_spec.rb +134 -0
- data/spec/unit/bricks/bricks_spec.rb +34 -0
- data/spec/unit/bricks/middleware/aws_middelware_spec.rb +98 -0
- data/spec/unit/bricks/middleware/bench_middleware_spec.rb +15 -0
- data/spec/unit/bricks/middleware/bulk_salesforce_middleware_spec.rb +15 -0
- data/spec/unit/bricks/middleware/gooddata_middleware_spec.rb +15 -0
- data/spec/unit/bricks/middleware/logger_middleware_spec.rb +30 -0
- data/spec/unit/bricks/middleware/restforce_middleware_spec.rb +15 -0
- data/spec/unit/bricks/middleware/stdout_middleware_spec.rb +15 -0
- data/spec/unit/bricks/middleware/twitter_middleware_spec.rb +15 -0
- data/spec/unit/cli/cli_spec.rb +17 -0
- data/spec/unit/cli/commands/cmd_auth_spec.rb +17 -0
- data/spec/unit/core/nil_logger_spec.rb +13 -0
- data/spec/unit/extensions/hash_spec.rb +22 -0
- data/spec/unit/godzilla/goodzilla_spec.rb +74 -0
- data/spec/unit/helpers/csv_helper_spec.rb +22 -0
- data/spec/unit/helpers/data_helper_spec.rb +67 -0
- data/spec/unit/helpers/global_helpers_spec.rb +264 -0
- data/spec/unit/helpers_spec.rb +254 -0
- data/spec/unit/lcm/user_bricks_helper_spec.rb +58 -0
- data/spec/unit/models/blueprint/attribute_sort_by_spec.rb +20 -0
- data/spec/unit/models/blueprint/attributes_spec.rb +28 -0
- data/spec/unit/models/blueprint/dataset_spec.rb +120 -0
- data/spec/unit/models/blueprint/labels_spec.rb +43 -0
- data/spec/unit/models/blueprint/project_blueprint_spec.rb +642 -0
- data/spec/unit/models/blueprint/reference_spec.rb +28 -0
- data/spec/unit/models/blueprint/schema_builder_spec.rb +36 -0
- data/spec/unit/models/blueprint/to_wire_spec.rb +195 -0
- data/spec/unit/models/execution_spec.rb +109 -0
- data/spec/unit/models/from_wire_spec.rb +301 -0
- data/spec/unit/models/metadata_spec.rb +140 -0
- data/spec/unit/models/metric_spec.rb +129 -0
- data/spec/unit/models/model_spec.rb +77 -0
- data/spec/unit/models/project_creator_spec.rb +90 -0
- data/spec/unit/models/project_spec.rb +94 -0
- data/spec/unit/models/report_result_data_spec.rb +194 -0
- data/spec/unit/models/to_manifest_spec.rb +136 -0
- data/spec/unit/models/user_filters/user_filter_builder_spec.rb +110 -0
- data/spec/unit/models/user_filters_spec.rb +95 -0
- data/spec/unit/models/variable_spec.rb +280 -0
- data/spec/unit/rest/polling_spec.rb +101 -0
- data/spec/unit/rest/resource_spec.rb +10 -0
- data/yard-server.sh +3 -0
- metadata +1207 -0
data/CLI.md
ADDED
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
# gooddata-ruby CLI
|
|
2
|
+
|
|
3
|
+
## api
|
|
4
|
+
|
|
5
|
+
Some basic API stuff directly from CLI
|
|
6
|
+
|
|
7
|
+
### api get
|
|
8
|
+
|
|
9
|
+
GET request on our API
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
tomaskorcak@kx-mac:~/$ gooddata api get /gdc
|
|
13
|
+
{"about"=>
|
|
14
|
+
{"summary"=>"Use links to navigate the services.",
|
|
15
|
+
"category"=>"GoodData API root",
|
|
16
|
+
"links"=>
|
|
17
|
+
[{"link"=>"/gdc/", "summary"=>"", "category"=>"home", "title"=>"home"},
|
|
18
|
+
{"link"=>"/gdc/account/token",
|
|
19
|
+
"summary"=>"Temporary token generator.",
|
|
20
|
+
"category"=>"token",
|
|
21
|
+
"title"=>"token"},
|
|
22
|
+
{"link"=>"/gdc/account/login",
|
|
23
|
+
"summary"=>"Authentication service.",
|
|
24
|
+
"category"=>"login",
|
|
25
|
+
"title"=>"login"},
|
|
26
|
+
{"link"=>"/gdc/md",
|
|
27
|
+
"summary"=>"Metadata resources.",
|
|
28
|
+
"category"=>"md",
|
|
29
|
+
"title"=>"metadata"},
|
|
30
|
+
{"link"=>"/gdc/xtab2",
|
|
31
|
+
"summary"=>"Report execution resource.",
|
|
32
|
+
"category"=>"xtab",
|
|
33
|
+
"title"=>"xtab"},
|
|
34
|
+
{"link"=>"/gdc/availableelements",
|
|
35
|
+
"summary"=>
|
|
36
|
+
"Resource used to determine valid attribute values in the context of a report.",
|
|
37
|
+
"category"=>"availablelements",
|
|
38
|
+
"title"=>"AvailableElements"},
|
|
39
|
+
{"link"=>"/gdc/exporter",
|
|
40
|
+
"summary"=>"Report exporting resource.",
|
|
41
|
+
"category"=>"report-exporter",
|
|
42
|
+
"title"=>"exporter"},
|
|
43
|
+
{"link"=>"/gdc/account",
|
|
44
|
+
"summary"=>"Resource for logged in account manipulation.",
|
|
45
|
+
"category"=>"account",
|
|
46
|
+
"title"=>"account"},
|
|
47
|
+
{"link"=>"/gdc/projects",
|
|
48
|
+
"summary"=>"Resource for user and project management.",
|
|
49
|
+
"category"=>"projects",
|
|
50
|
+
"title"=>"projects"},
|
|
51
|
+
{"link"=>"/gdc/tool",
|
|
52
|
+
"summary"=>"Miscellaneous resources.",
|
|
53
|
+
"category"=>"tool",
|
|
54
|
+
"title"=>"tool"},
|
|
55
|
+
{"link"=>"/gdc/templates",
|
|
56
|
+
"summary"=>"Template resource - for internal use only.",
|
|
57
|
+
"category"=>"templates",
|
|
58
|
+
"title"=>"templates"},
|
|
59
|
+
{"link"=>"/gdc/releaseInfo",
|
|
60
|
+
"summary"=>"Release information.",
|
|
61
|
+
"category"=>"releaseInfo",
|
|
62
|
+
"title"=>"releaseInfo"},
|
|
63
|
+
{"link"=>"https://secure-di.gooddata.com/uploads",
|
|
64
|
+
"summary"=>"User data staging area.",
|
|
65
|
+
"category"=>"uploads",
|
|
66
|
+
"title"=>"user-uploads"}]}}
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### api info
|
|
71
|
+
|
|
72
|
+
Info about the API version etc
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
tomaskorcak@kx-mac:~/$ gooddata api info
|
|
76
|
+
GoodData API
|
|
77
|
+
Version: N/A
|
|
78
|
+
Released: N/A
|
|
79
|
+
For more info see N/A
|
|
80
|
+
nil
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## auth
|
|
85
|
+
|
|
86
|
+
Work with your locally stored credentials
|
|
87
|
+
|
|
88
|
+
### auth store
|
|
89
|
+
|
|
90
|
+
Store your credentials to ~/.gooddata so client does not have to ask you every single time
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
tomaskorcak@kx-mac:~/$ gooddata auth store
|
|
94
|
+
Enter your GoodData credentials.
|
|
95
|
+
Email
|
|
96
|
+
tomas.korcak@gooddata.com
|
|
97
|
+
Password
|
|
98
|
+
xxxxxxxxxxxxxxxx
|
|
99
|
+
Authorization Token
|
|
100
|
+
ABCDEF123
|
|
101
|
+
Overwrite existing stored credentials (y/n)
|
|
102
|
+
y
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## console
|
|
107
|
+
|
|
108
|
+
Interactive session with gooddata sdk loaded
|
|
109
|
+
|
|
110
|
+
## domain
|
|
111
|
+
|
|
112
|
+
Manage domain
|
|
113
|
+
|
|
114
|
+
### domain add_user
|
|
115
|
+
|
|
116
|
+
Add user to domain
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
tomaskorcak@kx-mac:~/$ gooddata domain add_user gooddata-tomas-korcak joe doe joe.doe@example.com password
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### domain list_users
|
|
123
|
+
|
|
124
|
+
List users in domain
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
tomaskorcak@kx-mac:~/$ gooddata domain list_users gooddata-tomas-korcak
|
|
128
|
+
Tomas,Korcak,tomas.korcak@gooddata.com
|
|
129
|
+
tomas,korcak,korczis@gmail.com
|
|
130
|
+
joe,doe,joe.doe@example.com
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## help
|
|
134
|
+
|
|
135
|
+
Shows a list of commands or help for one command
|
|
136
|
+
|
|
137
|
+
## process
|
|
138
|
+
|
|
139
|
+
Work with deployed processes
|
|
140
|
+
|
|
141
|
+
### process deploy
|
|
142
|
+
|
|
143
|
+
Deploys provided directory to the server
|
|
144
|
+
|
|
145
|
+
### process get
|
|
146
|
+
|
|
147
|
+
Gives you some basic info about the process
|
|
148
|
+
|
|
149
|
+
### process list
|
|
150
|
+
|
|
151
|
+
Lists all user's processes deployed on the plaform
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb process list
|
|
155
|
+
{"processes"=>
|
|
156
|
+
{"items"=>
|
|
157
|
+
[{"process"=>
|
|
158
|
+
{"type"=>"GRAPH",
|
|
159
|
+
"name"=>"Training March",
|
|
160
|
+
"graphs"=>["Training March/graph/graph.grf"],
|
|
161
|
+
"executables"=>["Training March/graph/graph.grf"],
|
|
162
|
+
"links"=>
|
|
163
|
+
{"self"=>
|
|
164
|
+
"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/processes/f12975d2-5958-4248-9c3d-4c8f2e1f067d",
|
|
165
|
+
"executions"=>
|
|
166
|
+
"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/processes/f12975d2-5958-4248-9c3d-4c8f2e1f067d/executions",
|
|
167
|
+
"source"=>
|
|
168
|
+
"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/processes/f12975d2-5958-4248-9c3d-4c8f2e1f067d/source"}}}],
|
|
169
|
+
"links"=>
|
|
170
|
+
{"self"=>
|
|
171
|
+
"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/processes"}}}
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## project
|
|
176
|
+
|
|
177
|
+
Manage your project
|
|
178
|
+
|
|
179
|
+
### project build
|
|
180
|
+
|
|
181
|
+
If you are in a gooddata project blueprint it will apply the changes. If you do not provide a project id it will build it from scratch and create a project for you.
|
|
182
|
+
|
|
183
|
+
### project clone
|
|
184
|
+
|
|
185
|
+
Clones a project. Useful for testing
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
tomaskorcak@kx-mac:~/$ gooddata -p uq7vmjkmfj86jihofsavdxgtfmxwofrh project clone
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### project create
|
|
192
|
+
|
|
193
|
+
Create a gooddata project
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
tomaskorcak@kx-mac:~/$ gooddata project create
|
|
197
|
+
Project name
|
|
198
|
+
Test Project
|
|
199
|
+
Project summary ||
|
|
200
|
+
Test Project Summary Text
|
|
201
|
+
Project template
|
|
202
|
+
|
|
203
|
+
token
|
|
204
|
+
SUPERSECRETTOKENHERE
|
|
205
|
+
Project 'Test Project' with id /gdc/projects/uq7vmjkmfj86jihofsavdxgtfmxwofrh created successfully!
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### project delete
|
|
210
|
+
|
|
211
|
+
Delete a project. Be careful this is impossible to revert
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
tomaskorcak@kx-mac:~/$ gooddata -p uq7vmjkmfj86jihofsavdxgtfmxwofrh project delete
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### project invite
|
|
218
|
+
|
|
219
|
+
Invites user to project
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project invite tomas.korcak@gooddata.com admin
|
|
223
|
+
Inviting tomas.korcak@gooddata.com, role: /gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/2
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### project list_users
|
|
227
|
+
|
|
228
|
+
List users
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project list_users
|
|
232
|
+
Korcak,Tomas,tomas.korcak@gooddata.com,/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### project roles
|
|
236
|
+
|
|
237
|
+
Roles
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project roles
|
|
241
|
+
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/2,Admin
|
|
242
|
+
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/7,Connectors System User
|
|
243
|
+
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/5,Editor
|
|
244
|
+
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/3,Embedded Dashboard Only
|
|
245
|
+
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/1,Unverified Admin
|
|
246
|
+
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/4,Viewer
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### project show
|
|
251
|
+
|
|
252
|
+
Shows basic info about a project
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project show
|
|
256
|
+
{"content"=>
|
|
257
|
+
{"cluster"=>"",
|
|
258
|
+
"authorizationToken"=>"IOUYYUY8786",
|
|
259
|
+
"guidedNavigation"=>"1",
|
|
260
|
+
"isPublic"=>"0",
|
|
261
|
+
"driver"=>"Pg",
|
|
262
|
+
"state"=>"ENABLED"},
|
|
263
|
+
"links"=>
|
|
264
|
+
{"ldm_thumbnail"=>
|
|
265
|
+
"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/ldm?thumbnail=1",
|
|
266
|
+
"self"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb",
|
|
267
|
+
"clearCaches"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/clearCaches",
|
|
268
|
+
"invitations"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/invitations",
|
|
269
|
+
"users"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/users?link=1",
|
|
270
|
+
"uploads"=>
|
|
271
|
+
"https://secure-di.gooddata.com/project-uploads/tk6192gsnav58crp6o1ahsmtuniq8khb/",
|
|
272
|
+
"ldm"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/ldm",
|
|
273
|
+
"metadata"=>"/gdc/md/tk6192gsnav58crp6o1ahsmtuniq8khb",
|
|
274
|
+
"publicartifacts"=>
|
|
275
|
+
"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/publicartifacts",
|
|
276
|
+
"roles"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles",
|
|
277
|
+
"dataload"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload",
|
|
278
|
+
"connectors"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/connectors",
|
|
279
|
+
"execute"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/execute",
|
|
280
|
+
"schedules"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/schedules",
|
|
281
|
+
"templates"=>"/gdc/md/tk6192gsnav58crp6o1ahsmtuniq8khb/templates",
|
|
282
|
+
"eventstores"=>
|
|
283
|
+
"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/eventstore/stores"},
|
|
284
|
+
"meta"=>
|
|
285
|
+
{"created"=>"2014-03-03 14:24:51",
|
|
286
|
+
"summary"=>"",
|
|
287
|
+
"updated"=>"2014-03-03 14:24:51",
|
|
288
|
+
"author"=>"/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9",
|
|
289
|
+
"title"=>"Training March",
|
|
290
|
+
"contributor"=>"/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9"}}
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### project update
|
|
295
|
+
|
|
296
|
+
If you are in a gooddata project blueprint it will apply the changes. If you do not provide a project id it will build it from scratch and create a project for you.
|
|
297
|
+
|
|
298
|
+
### project validation
|
|
299
|
+
|
|
300
|
+
You can run project validation which will check RI integrity and other problems.
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project validation
|
|
304
|
+
{"projectValidateResult"=>
|
|
305
|
+
{"error_found"=>0,
|
|
306
|
+
"fatal_error_found"=>0,
|
|
307
|
+
"results"=>
|
|
308
|
+
[{"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm"},
|
|
309
|
+
{"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm::transitivity"},
|
|
310
|
+
{"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm::elem_validation"},
|
|
311
|
+
{"body"=>{"error"=>0, "log"=>[]}, "from"=>"metric_filter"},
|
|
312
|
+
{"body"=>{"error"=>0, "log"=>[]}, "from"=>"ldm"},
|
|
313
|
+
{"body"=>{"error"=>0, "log"=>[]}, "from"=>"invalid_objects"},
|
|
314
|
+
{"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm::pdm_vs_dwh"},
|
|
315
|
+
{"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm::pk_fk_consistency"}],
|
|
316
|
+
"meta"=>{"start_time"=>1398202260, "finished_time"=>1398202262}}}
|
|
317
|
+
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## projects
|
|
321
|
+
|
|
322
|
+
Manage your projects
|
|
323
|
+
|
|
324
|
+
### projects list
|
|
325
|
+
|
|
326
|
+
Lists user's projects
|
|
327
|
+
|
|
328
|
+
```
|
|
329
|
+
tomaskorcak@kx-mac:~/$ gooddata projects list
|
|
330
|
+
/gdc/projects/la84vcyhrq8jwbu4wpipw66q2sqeb923,GoodSales Demo
|
|
331
|
+
/gdc/projects/pouwty5dezpuib8nil16fv4i1jz80oju,GoodSample Demo
|
|
332
|
+
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb,Training March
|
|
333
|
+
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
## role
|
|
337
|
+
|
|
338
|
+
Basic Role Management
|
|
339
|
+
|
|
340
|
+
### role list
|
|
341
|
+
|
|
342
|
+
List roles
|
|
343
|
+
|
|
344
|
+
```
|
|
345
|
+
tomaskorcak@kx-mac:~/$ gooddata -p pouwty5dezpuib8nil16fv4i1jz80oju role list
|
|
346
|
+
dashboardOnlyRole,/gdc/projects/pouwty5dezpuib8nil16fv4i1jz80oju/roles/3
|
|
347
|
+
readOnlyUserRole,/gdc/projects/pouwty5dezpuib8nil16fv4i1jz80oju/roles/4
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## run_ruby
|
|
351
|
+
|
|
352
|
+
Run ruby bricks either locally or remotely deployed on our server
|
|
353
|
+
|
|
354
|
+
## scaffold
|
|
355
|
+
|
|
356
|
+
Scaffold things
|
|
357
|
+
|
|
358
|
+
### scaffold brick
|
|
359
|
+
|
|
360
|
+
Scaffold a gooddata ruby brick. This is a piece of code that you can run on our platform
|
|
361
|
+
|
|
362
|
+
```
|
|
363
|
+
tomaskorcak@kx-mac:~/$ gooddata scaffold brick mybrick
|
|
364
|
+
|
|
365
|
+
tomaskorcak@kx-mac:~/$ ls -la mybrick/
|
|
366
|
+
total 16
|
|
367
|
+
drwxr-xr-x 4 tomaskorcak staff 136 Apr 22 14:10 .
|
|
368
|
+
drwxr-xr-x 31 tomaskorcak staff 1054 Apr 22 14:10 ..
|
|
369
|
+
-rw-r--r-- 1 tomaskorcak staff 103 Apr 22 14:10 brick.rb
|
|
370
|
+
-rw-r--r-- 1 tomaskorcak staff 179 Apr 22 14:10 main.rb
|
|
371
|
+
|
|
372
|
+
tomaskorcak@kx-mac:~/$ cat mybrick/brick.rb
|
|
373
|
+
class MyBrick < GoodData::Bricks::Brick
|
|
374
|
+
|
|
375
|
+
def call(params)
|
|
376
|
+
# do something here
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
tomaskorcak@kx-mac:~/$ cat mybrick/main.rb
|
|
382
|
+
require_relative '../../gooddata/bricks/bricks'
|
|
383
|
+
|
|
384
|
+
require_relative './mybrick'
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
### scaffold project
|
|
390
|
+
|
|
391
|
+
Scaffold a gooddata project blueprint
|
|
392
|
+
|
|
393
|
+
```
|
|
394
|
+
tomaskorcak@kx-mac:~/$ gooddata scaffold project myproj
|
|
395
|
+
|
|
396
|
+
tomaskorcak@kx-mac:~/$ ls -la myproj/
|
|
397
|
+
total 8
|
|
398
|
+
drwxr-xr-x 5 tomaskorcak staff 170 Apr 22 14:13 .
|
|
399
|
+
drwxr-xr-x 31 tomaskorcak staff 1054 Apr 22 14:13 ..
|
|
400
|
+
-rw-r--r-- 1 tomaskorcak staff 53 Apr 22 14:13 Goodfile
|
|
401
|
+
drwxr-xr-x 5 tomaskorcak staff 170 Apr 22 14:13 data
|
|
402
|
+
drwxr-xr-x 3 tomaskorcak staff 102 Apr 22 14:13 model
|
|
403
|
+
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
## user
|
|
407
|
+
|
|
408
|
+
User management
|
|
409
|
+
|
|
410
|
+
### user show
|
|
411
|
+
|
|
412
|
+
Show your profile
|
|
413
|
+
|
|
414
|
+
```
|
|
415
|
+
tomaskorcak@kx-mac:~/$ gooddata user show
|
|
416
|
+
{"accountSetting"=>
|
|
417
|
+
{"country"=>nil,
|
|
418
|
+
"firstName"=>"Tomas",
|
|
419
|
+
"ssoProvider"=>nil,
|
|
420
|
+
"timezone"=>nil,
|
|
421
|
+
"position"=>nil,
|
|
422
|
+
"authenticationModes"=>[],
|
|
423
|
+
"companyName"=>"GoodData",
|
|
424
|
+
"login"=>"tomas.korcak@gooddata.com",
|
|
425
|
+
"email"=>"tomas.korcak@gooddata.com",
|
|
426
|
+
"created"=>"2014-03-03 11:28:51",
|
|
427
|
+
"updated"=>"2014-04-22 22:58:51",
|
|
428
|
+
"lastName"=>"Korcak",
|
|
429
|
+
"phoneNumber"=>"00420775995881",
|
|
430
|
+
"links"=>
|
|
431
|
+
{"self"=>"/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9",
|
|
432
|
+
"projects"=>
|
|
433
|
+
"/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9/projects"}}}
|
|
434
|
+
|
|
435
|
+
```
|
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
## Static analysis
|
|
4
|
+
We use [Pronto](https://github.com/prontolabs/pronto) to detect code smells using static analysis. Comments are automatically created on pull requests when code smells are found.
|
|
5
|
+
|
|
6
|
+
#### Running locally
|
|
7
|
+
`bundle exec pronto run --unstaged -c upstream/develop`
|
|
8
|
+
|
|
9
|
+
#### Editor integrations:
|
|
10
|
+
- [Rubocop](https://rubocop.readthedocs.io/en/latest/integration_with_other_tools/)
|
|
11
|
+
- [Reek](https://github.com/troessner/reek#editor-integrations)
|
|
12
|
+
- [Flay](https://github.com/seattlerb/flay)
|
|
13
|
+
|
|
14
|
+
## Acceptance criteria
|
|
15
|
+
|
|
16
|
+
1. The change is as small as possible. It fixes one specific issue or implements
|
|
17
|
+
one specific feature. Do not combine things, send separate pull requests if needed.
|
|
18
|
+
1. Include proper tests and make all tests pass (unless it contains a test
|
|
19
|
+
exposing a bug in existing code). Every new class should have corresponding
|
|
20
|
+
unit tests, even if the class is exercised at a higher level, such as a feature test.
|
|
21
|
+
1. Every bug-fix has a regression test.
|
|
22
|
+
1. If you suspect a failing CI build is unrelated to your contribution, you may
|
|
23
|
+
try and restart the failing CI job or ask a developer to fix the
|
|
24
|
+
aforementioned failing test.
|
|
25
|
+
1. Code conforms to this [style guide](https://github.com/bbatsov/ruby-style-guide).
|
|
26
|
+
1. When writing tests, please follow [these guidelines](http://betterspecs.org/).
|
|
27
|
+
1. Changes do not adversely degrade performance.
|
|
28
|
+
1. Your PR contains a single commit (please use `git rebase -i` to squash commits)
|
|
29
|
+
1. When writing commit messages, please follow
|
|
30
|
+
[these](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
|
|
31
|
+
[guidelines](http://chris.beams.io/posts/git-commit/).
|
|
32
|
+
1. Your changes can merge without problems (if not please rebase if you're the
|
|
33
|
+
only one working on your feature branch, otherwise, merge `master`).
|
|
34
|
+
1. If the pull request adds any new libraries, they should be in line with our
|
|
35
|
+
[license](/LICENSE).
|
|
36
|
+
1. Use `GoodData.logger` for logging instead of `puts`.
|
|
37
|
+
|
|
38
|
+
_Based on [GitLab's contribution guide](https://github.com/gitlabhq/gitlabhq/blob/master/CONTRIBUTING.md)._
|