gooddata 0.6.54 → 1.0.0
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 +5 -5
- data/.document +0 -0
- data/.editorconfig +0 -0
- data/.travis.yml +9 -0
- data/.yardopts +0 -0
- data/CHANGELOG.md +7 -0
- data/CLI.md +0 -0
- data/Gemfile +0 -0
- data/Guardfile +0 -0
- data/LICENSE +0 -0
- data/LICENSE.rb +0 -0
- data/TODO.md +0 -0
- data/dependency_decisions.yml +0 -0
- data/gooddata.gemspec +1 -1
- data/lib/gooddata/app/app.rb +0 -0
- data/lib/gooddata/bricks/brick.rb +0 -0
- data/lib/gooddata/bricks/bricks.rb +0 -0
- data/lib/gooddata/bricks/middleware/base_middleware.rb +0 -0
- data/lib/gooddata/bricks/middleware/bench_middleware.rb +0 -0
- data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +0 -0
- data/lib/gooddata/bricks/middleware/decode_params_middleware.rb +0 -0
- data/lib/gooddata/bricks/middleware/fs_download_middleware.rb +0 -0
- data/lib/gooddata/bricks/middleware/fs_upload_middleware.rb +0 -0
- data/lib/gooddata/bricks/middleware/middleware.rb +0 -0
- data/lib/gooddata/bricks/middleware/stdout_middleware.rb +0 -0
- data/lib/gooddata/bricks/middleware/twitter_middleware.rb +0 -0
- data/lib/gooddata/bricks/middleware/undot_params_middleware.rb +0 -0
- data/lib/gooddata/bricks/pipeline.rb +0 -0
- data/lib/gooddata/bricks/utils.rb +0 -0
- data/lib/gooddata/cli/cli.rb +0 -0
- data/lib/gooddata/cli/commands/auth_cmd.rb +0 -0
- data/lib/gooddata/cli/commands/domain_cmd.rb +0 -0
- data/lib/gooddata/cli/commands/project_cmd.rb +0 -0
- data/lib/gooddata/cli/hooks.rb +0 -0
- data/lib/gooddata/cli/shared.rb +0 -0
- data/lib/gooddata/cli/terminal.rb +0 -0
- data/lib/gooddata/commands/api.rb +0 -0
- data/lib/gooddata/commands/auth.rb +0 -0
- data/lib/gooddata/commands/base.rb +0 -0
- data/lib/gooddata/commands/commands.rb +0 -0
- data/lib/gooddata/commands/datasets.rb +0 -0
- data/lib/gooddata/commands/datawarehouse.rb +0 -0
- data/lib/gooddata/commands/domain.rb +0 -0
- data/lib/gooddata/commands/process.rb +0 -0
- data/lib/gooddata/commands/project.rb +0 -0
- data/lib/gooddata/commands/projects.rb +0 -0
- data/lib/gooddata/commands/role.rb +0 -0
- data/lib/gooddata/commands/runners.rb +0 -0
- data/lib/gooddata/commands/scaffold.rb +0 -0
- data/lib/gooddata/commands/user.rb +0 -0
- data/lib/gooddata/connection.rb +0 -0
- data/lib/gooddata/core/core.rb +0 -0
- data/lib/gooddata/core/logging.rb +0 -0
- data/lib/gooddata/core/nil_logger.rb +0 -0
- data/lib/gooddata/core/project.rb +0 -0
- data/lib/gooddata/core/rest.rb +0 -0
- data/lib/gooddata/core/user.rb +0 -0
- data/lib/gooddata/data/data.rb +0 -0
- data/lib/gooddata/data/guesser.rb +0 -0
- data/lib/gooddata/exceptions/attr_element_not_found.rb +0 -0
- data/lib/gooddata/exceptions/command_failed.rb +0 -0
- data/lib/gooddata/exceptions/exceptions.rb +0 -0
- data/lib/gooddata/exceptions/execution_limit_exceeded.rb +0 -0
- data/lib/gooddata/exceptions/export_clone.rb +0 -0
- data/lib/gooddata/exceptions/filter_maqlization.rb +0 -0
- data/lib/gooddata/exceptions/import_clone.rb +0 -0
- data/lib/gooddata/exceptions/malformed_user.rb +0 -0
- data/lib/gooddata/exceptions/maql_execution.rb +0 -0
- data/lib/gooddata/exceptions/object_migration.rb +0 -0
- data/lib/gooddata/exceptions/project_not_found.rb +0 -0
- data/lib/gooddata/exceptions/segment_not_empty.rb +0 -0
- data/lib/gooddata/exceptions/uncomputable_report.rb +0 -0
- data/lib/gooddata/exceptions/user_in_different_domain.rb +0 -0
- data/lib/gooddata/exceptions/validation_error.rb +0 -0
- data/lib/gooddata/extensions/big_decimal.rb +0 -0
- data/lib/gooddata/extensions/class.rb +0 -0
- data/lib/gooddata/extensions/extensions.rb +0 -0
- data/lib/gooddata/extensions/false.rb +0 -0
- data/lib/gooddata/extensions/hash.rb +0 -0
- data/lib/gooddata/extensions/integer.rb +0 -0
- data/lib/gooddata/extensions/nil.rb +0 -0
- data/lib/gooddata/extensions/numeric.rb +0 -0
- data/lib/gooddata/extensions/object.rb +0 -0
- data/lib/gooddata/extensions/string.rb +0 -0
- data/lib/gooddata/extensions/symbol.rb +0 -0
- data/lib/gooddata/extensions/true.rb +0 -0
- data/lib/gooddata/extract.rb +0 -0
- data/lib/gooddata/goodzilla/goodzilla.rb +0 -0
- data/lib/gooddata/helpers/auth_helpers.rb +0 -0
- data/lib/gooddata/helpers/csv_helper.rb +0 -0
- data/lib/gooddata/helpers/erb_helper.rb +0 -0
- data/lib/gooddata/helpers/global_helpers.rb +0 -0
- data/lib/gooddata/helpers/helpers.rb +0 -0
- data/lib/gooddata/lcm/actions/actions.rb +0 -0
- data/lib/gooddata/lcm/actions/base_action.rb +0 -0
- data/lib/gooddata/lcm/actions/collect_data_product.rb +4 -9
- data/lib/gooddata/lcm/actions/collect_segments.rb +2 -1
- data/lib/gooddata/lcm/actions/collect_users_brick_users.rb +46 -0
- data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +8 -22
- data/lib/gooddata/lcm/actions/synchronize_users.rb +17 -5
- data/lib/gooddata/lcm/data/create_lcm_release.sql.erb +0 -0
- data/lib/gooddata/lcm/data/insert_into_lcm_release.sql.erb +0 -0
- data/lib/gooddata/lcm/data/select_from_lcm_release.sql.erb +0 -0
- data/lib/gooddata/lcm/data/update_lcm_release.sql.erb +0 -0
- data/lib/gooddata/lcm/dsl/dsl.rb +0 -0
- data/lib/gooddata/lcm/dsl/params_dsl.rb +0 -0
- data/lib/gooddata/lcm/helpers/helpers.rb +0 -0
- data/lib/gooddata/lcm/lcm2.rb +2 -0
- data/lib/gooddata/lcm/types/base_type.rb +0 -0
- data/lib/gooddata/lcm/types/class/ads_client.rb +0 -0
- data/lib/gooddata/lcm/types/class/class.rb +0 -0
- data/lib/gooddata/lcm/types/class/gd_client.rb +0 -0
- data/lib/gooddata/lcm/types/class/types.rb +0 -0
- data/lib/gooddata/lcm/types/complex/complex.rb +0 -0
- data/lib/gooddata/lcm/types/complex/release_query.rb +0 -0
- data/lib/gooddata/lcm/types/complex/tokens.rb +0 -0
- data/lib/gooddata/lcm/types/complex/types.rb +0 -0
- data/lib/gooddata/lcm/types/complex/users_brick_config.rb +32 -0
- data/lib/gooddata/lcm/types/param.rb +0 -0
- data/lib/gooddata/lcm/types/scalar/bool.rb +0 -0
- data/lib/gooddata/lcm/types/scalar/hash.rb +0 -0
- data/lib/gooddata/lcm/types/scalar/integer.rb +0 -0
- data/lib/gooddata/lcm/types/scalar/object.rb +0 -0
- data/lib/gooddata/lcm/types/scalar/string.rb +0 -0
- data/lib/gooddata/lcm/types/scalar/types.rb +0 -0
- data/lib/gooddata/lcm/types/special/types.rb +0 -0
- data/lib/gooddata/lcm/types/types.rb +0 -0
- data/lib/gooddata/lcm/user_bricks_helper.rb +32 -0
- data/lib/gooddata/mixins/author.rb +0 -0
- data/lib/gooddata/mixins/content_getter.rb +0 -0
- data/lib/gooddata/mixins/content_property_reader.rb +0 -0
- data/lib/gooddata/mixins/content_property_writer.rb +0 -0
- data/lib/gooddata/mixins/contributor.rb +0 -0
- data/lib/gooddata/mixins/data_getter.rb +0 -0
- data/lib/gooddata/mixins/data_property_reader.rb +0 -0
- data/lib/gooddata/mixins/data_property_writer.rb +0 -0
- data/lib/gooddata/mixins/inspector.rb +0 -0
- data/lib/gooddata/mixins/is_attribute.rb +0 -0
- data/lib/gooddata/mixins/is_dimension.rb +0 -0
- data/lib/gooddata/mixins/is_fact.rb +0 -0
- data/lib/gooddata/mixins/is_folder.rb +0 -0
- data/lib/gooddata/mixins/is_label.rb +0 -0
- data/lib/gooddata/mixins/links.rb +0 -0
- data/lib/gooddata/mixins/md_grantees.rb +0 -0
- data/lib/gooddata/mixins/md_lock.rb +0 -0
- data/lib/gooddata/mixins/md_object_id.rb +0 -0
- data/lib/gooddata/mixins/md_relations.rb +0 -0
- data/lib/gooddata/mixins/meta_getter.rb +0 -0
- data/lib/gooddata/mixins/meta_property_reader.rb +0 -0
- data/lib/gooddata/mixins/meta_property_writer.rb +0 -0
- data/lib/gooddata/mixins/mixins.rb +0 -0
- data/lib/gooddata/mixins/not_attribute.rb +0 -0
- data/lib/gooddata/mixins/not_exportable.rb +0 -0
- data/lib/gooddata/mixins/not_fact.rb +0 -0
- data/lib/gooddata/mixins/not_group.rb +0 -0
- data/lib/gooddata/mixins/not_label.rb +0 -0
- data/lib/gooddata/mixins/not_metric.rb +0 -0
- data/lib/gooddata/mixins/obj_id.rb +0 -0
- data/lib/gooddata/mixins/rest_getters.rb +0 -0
- data/lib/gooddata/mixins/rest_resource.rb +0 -0
- data/lib/gooddata/mixins/root_key_getter.rb +0 -0
- data/lib/gooddata/mixins/root_key_setter.rb +0 -0
- data/lib/gooddata/mixins/timestamps.rb +0 -0
- data/lib/gooddata/mixins/to_json.rb +0 -0
- data/lib/gooddata/mixins/uri_getter.rb +0 -0
- data/lib/gooddata/models/ads_output_stage.rb +0 -0
- data/lib/gooddata/models/automated_data_distribution.rb +0 -0
- data/lib/gooddata/models/blueprint/anchor_field.rb +0 -0
- data/lib/gooddata/models/blueprint/attribute_field.rb +0 -0
- data/lib/gooddata/models/blueprint/blueprint.rb +0 -0
- data/lib/gooddata/models/blueprint/blueprint_field.rb +0 -0
- data/lib/gooddata/models/blueprint/dashboard_builder.rb +0 -0
- data/lib/gooddata/models/blueprint/dataset_blueprint.rb +0 -0
- data/lib/gooddata/models/blueprint/fact_field.rb +0 -0
- data/lib/gooddata/models/blueprint/label_field.rb +0 -0
- data/lib/gooddata/models/blueprint/reference_field.rb +0 -0
- data/lib/gooddata/models/blueprint/schema_blueprint.rb +0 -0
- data/lib/gooddata/models/blueprint/schema_builder.rb +0 -0
- data/lib/gooddata/models/blueprint/to_manifest.rb +0 -0
- data/lib/gooddata/models/channel_configuration.rb +0 -0
- data/lib/gooddata/models/client_synchronization_result.rb +0 -0
- data/lib/gooddata/models/client_synchronization_result_details.rb +0 -0
- data/lib/gooddata/models/datawarehouse.rb +0 -0
- data/lib/gooddata/models/execution.rb +0 -0
- data/lib/gooddata/models/execution_detail.rb +0 -0
- data/lib/gooddata/models/invitation.rb +0 -0
- data/lib/gooddata/models/links.rb +0 -0
- data/lib/gooddata/models/metadata/dashboard/dashboard_item.rb +0 -0
- data/lib/gooddata/models/metadata/dashboard/filter_apply_item.rb +0 -0
- data/lib/gooddata/models/metadata/dashboard/filter_item.rb +0 -0
- data/lib/gooddata/models/metadata/dashboard/geo_chart_item.rb +0 -0
- data/lib/gooddata/models/metadata/dashboard/headline_item.rb +0 -0
- data/lib/gooddata/models/metadata/dashboard/iframe_item.rb +0 -0
- data/lib/gooddata/models/metadata/dashboard/report_item.rb +0 -0
- data/lib/gooddata/models/metadata/dashboard/text_item.rb +0 -0
- data/lib/gooddata/models/metadata/dashboard_tab.rb +0 -0
- data/lib/gooddata/models/metadata/label.rb +0 -0
- data/lib/gooddata/models/metadata/metadata.rb +0 -0
- data/lib/gooddata/models/metadata/report.rb +10 -0
- data/lib/gooddata/models/metadata/scheduled_mail/dashboard_attachment.rb +0 -0
- data/lib/gooddata/models/metadata/scheduled_mail/report_attachment.rb +0 -0
- data/lib/gooddata/models/models.rb +0 -0
- data/lib/gooddata/models/module_constants.rb +0 -0
- data/lib/gooddata/models/notification_rule.rb +0 -0
- data/lib/gooddata/models/project_log_formatter.rb +0 -0
- data/lib/gooddata/models/project_metadata.rb +0 -0
- data/lib/gooddata/models/tab_builder.rb +0 -0
- data/lib/gooddata/models/user_filters/mandatory_user_filter.rb +0 -0
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +24 -12
- data/lib/gooddata/models/user_filters/user_filters.rb +0 -0
- data/lib/gooddata/rest/README.md +0 -0
- data/lib/gooddata/rest/connection.rb +15 -3
- data/lib/gooddata/rest/object.rb +0 -0
- data/lib/gooddata/rest/resource.rb +0 -0
- data/lib/gooddata/rest/rest.rb +0 -0
- data/lib/gooddata/version.rb +1 -1
- data/lib/templates/bricks/brick.rb.erb +0 -0
- data/lib/templates/bricks/main.rb.erb +0 -0
- data/lib/templates/project/Goodfile.erb +0 -0
- data/lib/templates/project/data/commits.csv +0 -0
- data/lib/templates/project/data/devs.csv +0 -0
- data/lib/templates/project/data/repos.csv +0 -0
- data/lib/templates/project/model/model.rb.erb +0 -0
- data/spec/.rubocop.yml +0 -0
- data/spec/bricks/bricks_spec.rb +0 -0
- data/spec/bricks/default-config.json +0 -0
- data/spec/data/.gooddata +0 -0
- data/spec/data/blueprints/additional_dataset_module.json +0 -0
- data/spec/data/blueprints/attribute_sort_order_blueprint.json +0 -0
- data/spec/data/blueprints/big_blueprint_not_pruned.json +0 -0
- data/spec/data/blueprints/m_n_model.json +0 -0
- data/spec/data/blueprints/model_module.json +0 -0
- data/spec/data/cc/data/source/commits.csv +0 -0
- data/spec/data/cc/data/source/devs.csv +0 -0
- data/spec/data/cc/data/source/repos.csv +0 -0
- data/spec/data/cc/devel.prm +0 -0
- data/spec/data/cc/graph/graph.grf +0 -0
- data/spec/data/cc/workspace.prm +0 -0
- data/spec/data/column_based_permissions.csv +0 -0
- data/spec/data/column_based_permissions2.csv +0 -0
- data/spec/data/gd_gse_data_blueprint.json +0 -0
- data/spec/data/gd_gse_data_manifest.json +0 -0
- data/spec/data/gd_gse_data_model.json +0 -0
- data/spec/data/gooddata_version_process/gooddata_version.rb +0 -0
- data/spec/data/gooddata_version_process/gooddata_version.zip +0 -0
- data/spec/data/hello_world_process/hello_world.rb +0 -0
- data/spec/data/hello_world_process/hello_world.zip +0 -0
- data/spec/data/line_based_permissions.csv +0 -0
- data/spec/data/manifests/test_blueprint.json +0 -0
- data/spec/data/manifests/test_project.json +0 -0
- data/spec/data/reports/left_attr_report.json +0 -0
- data/spec/data/reports/metric_only_one_line.json +0 -0
- data/spec/data/reports/report_1.json +0 -0
- data/spec/data/reports/top_attr_report.json +0 -0
- data/spec/data/ruby_params_process/ruby_params.rb +0 -0
- data/spec/data/ruby_process/deep_files/deep_stuff.txt +0 -0
- data/spec/data/ruby_process/process.rb +0 -0
- data/spec/data/ruby_process/stuff.txt +0 -0
- data/spec/data/superfluous_titles_view.json +0 -0
- data/spec/data/test-ci-data.csv +0 -0
- data/spec/data/users.csv +0 -0
- data/spec/data/wire_models/attribute_sort_by_model.json +0 -0
- data/spec/data/wire_models/model_view.json +0 -0
- data/spec/data/wire_models/nu_model.json +0 -0
- data/spec/data/wire_test_project.json +0 -0
- data/spec/environment/default.rb +0 -0
- data/spec/environment/environment.rb +0 -0
- data/spec/environment/production.rb +0 -0
- data/spec/helpers/blueprint_helper.rb +0 -0
- data/spec/helpers/cli_helper.rb +0 -0
- data/spec/helpers/connection_helper.rb +0 -0
- data/spec/helpers/crypto_helper.rb +0 -0
- data/spec/helpers/csv_helper.rb +0 -0
- data/spec/helpers/project_helper.rb +13 -0
- data/spec/helpers/spec_helper.rb +0 -0
- data/spec/integration/blueprint_updates_spec.rb +0 -0
- data/spec/integration/blueprint_with_grain_spec.rb +0 -0
- data/spec/integration/channel_configuration_spec.rb +0 -0
- data/spec/integration/command_projects_spec.rb +0 -0
- data/spec/integration/create_project_spec.rb +0 -0
- data/spec/integration/deprecated_load_spec.rb +0 -0
- data/spec/integration/full_project_spec.rb +3 -5
- data/spec/integration/models/metadata/report_spec.rb +54 -0
- data/spec/integration/over_to_user_filters_spec.rb +0 -0
- data/spec/integration/partial_md_export_import_spec.rb +0 -0
- data/spec/integration/rest_spec.rb +0 -0
- data/spec/integration/schedule_spec.rb +0 -0
- data/spec/integration/user_group_spec.rb +0 -0
- data/spec/logging_in_logging_out_spec.rb +0 -0
- data/spec/unit/actions/collect_data_product_spec.rb +9 -17
- data/spec/unit/actions/collect_users_brick_users_spec.rb +36 -0
- data/spec/unit/actions/shared_examples_for_user_actions.rb +17 -1
- data/spec/unit/actions/synchronize_user_filters_spec.rb +5 -1
- data/spec/unit/actions/synchronize_users_spec.rb +64 -6
- data/spec/unit/bricks/bricks_spec.rb +0 -0
- data/spec/unit/bricks/middleware/bench_middleware_spec.rb +0 -0
- data/spec/unit/bricks/middleware/bulk_salesforce_middleware_spec.rb +0 -0
- data/spec/unit/bricks/middleware/gooddata_middleware_spec.rb +0 -0
- data/spec/unit/bricks/middleware/restforce_middleware_spec.rb +0 -0
- data/spec/unit/bricks/middleware/stdout_middleware_spec.rb +0 -0
- data/spec/unit/bricks/middleware/twitter_middleware_spec.rb +0 -0
- data/spec/unit/cli/cli_spec.rb +0 -0
- data/spec/unit/cli/commands/cmd_auth_spec.rb +0 -0
- data/spec/unit/core/nil_logger_spec.rb +0 -0
- data/spec/unit/extensions/hash_spec.rb +0 -0
- data/spec/unit/godzilla/goodzilla_spec.rb +0 -0
- data/spec/unit/helpers/csv_helper_spec.rb +0 -0
- data/spec/unit/lcm/user_bricks_helper_spec.rb +58 -0
- data/spec/unit/models/blueprint/attribute_sort_by_spec.rb +0 -0
- data/spec/unit/models/blueprint/attributes_spec.rb +0 -0
- data/spec/unit/models/blueprint/dataset_spec.rb +0 -0
- data/spec/unit/models/blueprint/labels_spec.rb +0 -0
- data/spec/unit/models/blueprint/reference_spec.rb +0 -0
- data/spec/unit/models/blueprint/schema_builder_spec.rb +0 -0
- data/spec/unit/models/blueprint/to_wire_spec.rb +0 -0
- data/spec/unit/models/execution_spec.rb +0 -0
- data/spec/unit/models/from_wire_spec.rb +0 -0
- data/spec/unit/models/metric_spec.rb +0 -0
- data/spec/unit/models/model_spec.rb +0 -0
- data/spec/unit/models/report_result_data_spec.rb +0 -0
- data/spec/unit/models/user_filters/user_filter_builder_spec.rb +110 -0
- data/spec/unit/models/user_filters_spec.rb +0 -0
- data/spec/unit/models/variable_spec.rb +0 -0
- data/spec/unit/rest/resource_spec.rb +0 -0
- metadata +148 -94
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 9408b0739864f2bccdff5fadf792f65cd1e9e1cb
|
|
4
|
+
data.tar.gz: 51ec5d63f27c2f6b4e09456a406ef07a1d0297f6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8c6aaaa625353dafd2c2cb4d5b97af9c46bb38628583af3e23b39b46e2a37e6070f043406d337543eb1b866cdc568247da5b5c27ac0144f3dcf89e25fbc952f4
|
|
7
|
+
data.tar.gz: 68d49617d6e403a1e0f3b6023b61ae6e17f97974347af684010ae412ed56b2c09e15ab86ff889941314eec740a6d5a567da0a3f70adadd972b55bcb7f90a818d
|
data/.document
CHANGED
|
File without changes
|
data/.editorconfig
CHANGED
|
File without changes
|
data/.travis.yml
ADDED
data/.yardopts
CHANGED
|
File without changes
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
# GoodData Ruby SDK Changelog
|
|
2
|
+
## 1.0.0
|
|
3
|
+
- TMA-575: Add support for raw export-report API
|
|
4
|
+
- TMA-738: Update highline to v2
|
|
5
|
+
- TMA-711: segments filter works correctly in users brick
|
|
6
|
+
- TMA-662: Users Brick passes with empty input source
|
|
7
|
+
- Rename travis.yml to .travis.yml
|
|
8
|
+
|
|
2
9
|
## 0.6.54
|
|
3
10
|
- Generating changelog automatically from git
|
|
4
11
|
- Fix resolving dataproduct
|
data/CLI.md
CHANGED
|
File without changes
|
data/Gemfile
CHANGED
|
File without changes
|
data/Guardfile
CHANGED
|
File without changes
|
data/LICENSE
CHANGED
|
File without changes
|
data/LICENSE.rb
CHANGED
|
File without changes
|
data/TODO.md
CHANGED
|
File without changes
|
data/dependency_decisions.yml
CHANGED
|
File without changes
|
data/gooddata.gemspec
CHANGED
|
@@ -54,7 +54,7 @@ Gem::Specification.new do |s|
|
|
|
54
54
|
s.add_dependency 'gli', '~> 2.15'
|
|
55
55
|
s.add_dependency 'gooddata_datawarehouse' if RUBY_PLATFORM == 'java'
|
|
56
56
|
s.add_dependency 'gooddata-dss-jdbc', '0.1.12' if RUBY_PLATFORM == 'java'
|
|
57
|
-
s.add_dependency 'highline', '
|
|
57
|
+
s.add_dependency 'highline', '= 2.0.0.pre.develop.14'
|
|
58
58
|
s.add_dependency 'json_pure', '~> 1.8'
|
|
59
59
|
s.add_dependency 'multi_json', '~> 1.12'
|
|
60
60
|
s.add_dependency 'parseconfig', '~> 1.0'
|
data/lib/gooddata/app/app.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/gooddata/cli/cli.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/gooddata/cli/hooks.rb
CHANGED
|
File without changes
|
data/lib/gooddata/cli/shared.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/gooddata/connection.rb
CHANGED
|
File without changes
|
data/lib/gooddata/core/core.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/gooddata/core/rest.rb
CHANGED
|
File without changes
|
data/lib/gooddata/core/user.rb
CHANGED
|
File without changes
|
data/lib/gooddata/data/data.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/gooddata/extract.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -31,18 +31,13 @@ module GoodData
|
|
|
31
31
|
domain = client.domain(domain_name) || fail("Invalid domain name specified - #{domain_name}")
|
|
32
32
|
|
|
33
33
|
if params.key?(:data_product)
|
|
34
|
-
|
|
35
|
-
data_product = domain.data_products(params.data_product)
|
|
36
|
-
rescue RestClient::BadRequest
|
|
37
|
-
fail 'the specified DataProduct does not exist'
|
|
38
|
-
end
|
|
34
|
+
data_product_id = params.data_product
|
|
39
35
|
else
|
|
40
|
-
params.gdc_logger.info
|
|
41
|
-
|
|
42
|
-
fail 'No data_product parameter specified - unable to fallback to a default' if data_products.length > 1 || data_products.empty?
|
|
43
|
-
data_product = data_products.first
|
|
36
|
+
params.gdc_logger.info "Using data product 'default' since none was specified in brick parameters"
|
|
37
|
+
data_product_id = 'default'
|
|
44
38
|
end
|
|
45
39
|
|
|
40
|
+
data_product = domain.data_products(data_product_id)
|
|
46
41
|
results = [
|
|
47
42
|
{
|
|
48
43
|
data_product: data_product
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
|
+
# This source code is licensed under the BSD-style license found in the
|
|
5
|
+
# LICENSE file in the root directory of this source tree.
|
|
6
|
+
|
|
7
|
+
require_relative 'base_action'
|
|
8
|
+
|
|
9
|
+
module GoodData
|
|
10
|
+
module LCM2
|
|
11
|
+
class CollectUsersBrickUsers < BaseAction
|
|
12
|
+
DESCRIPTION = 'Enriches parameters with users from the Users Brick input.'
|
|
13
|
+
|
|
14
|
+
PARAMS = define_params(self) do
|
|
15
|
+
description 'Input source of the Users Brick. Needed to prevent ' \
|
|
16
|
+
'deletion of filters for a user that is to be removed.'
|
|
17
|
+
param :users_brick_config, instance_of(Type::UsersBrickConfig), required: true
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
class << self
|
|
21
|
+
def call(params)
|
|
22
|
+
users_brick_users = []
|
|
23
|
+
login_column = params.users_brick_config.login_column || 'login'
|
|
24
|
+
users_brick_data_source = GoodData::Helpers::DataSource.new(params.users_brick_config.input_source)
|
|
25
|
+
users_brick_data_source_file = File.open(
|
|
26
|
+
users_brick_data_source.realize(params),
|
|
27
|
+
'r:UTF-8'
|
|
28
|
+
)
|
|
29
|
+
CSV.foreach(users_brick_data_source_file,
|
|
30
|
+
headers: true,
|
|
31
|
+
return_headers: false,
|
|
32
|
+
encoding: 'utf-8') do |row|
|
|
33
|
+
users_brick_users << { login: row[login_column] }
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
{
|
|
37
|
+
results: users_brick_users,
|
|
38
|
+
params: {
|
|
39
|
+
users_brick_users: users_brick_users
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -87,7 +87,8 @@ module GoodData
|
|
|
87
87
|
ignore_missing_values: params.ignore_missing_values == 'true',
|
|
88
88
|
do_not_touch_filters_that_are_not_mentioned: params.do_not_touch_filters_that_are_not_mentioned == 'true',
|
|
89
89
|
domain: domain,
|
|
90
|
-
dry_run: false
|
|
90
|
+
dry_run: false,
|
|
91
|
+
users_brick_input: params.users_brick_users
|
|
91
92
|
}
|
|
92
93
|
|
|
93
94
|
puts "Synchronizing in mode \"#{mode}\""
|
|
@@ -118,21 +119,7 @@ module GoodData
|
|
|
118
119
|
project.add_data_permissions(filters_to_load, run_params)
|
|
119
120
|
end
|
|
120
121
|
when 'sync_one_project_based_on_custom_id'
|
|
121
|
-
|
|
122
|
-
goodot_id = md['GOODOT_CUSTOM_PROJECT_ID'].to_s
|
|
123
|
-
|
|
124
|
-
client = domain.clients(:all, data_product).find { |c| c.project_uri == project.uri }
|
|
125
|
-
if goodot_id.empty? && client.nil?
|
|
126
|
-
fail "Project \"#{project.pid}\" metadata does not contain key GOODOT_CUSTOM_PROJECT_ID neither is it mapped \
|
|
127
|
-
to a client_id in LCM metadata. We are unable to get the values for user filters."
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
unless goodot_id.empty? || client.nil? || (goodot_id == client.id)
|
|
131
|
-
fail "GOODOT_CUSTOM_PROJECT_ID metadata key is provided for project \"#{project.pid}\" but doesn't match \
|
|
132
|
-
client id assigned to the project in LCM metadata. Please resolve the conflict."
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
filter_value = goodot_id.empty? ? client.id : goodot_id
|
|
122
|
+
filter_value = UserBricksHelper.resolve_client_id(domain, project, data_product)
|
|
136
123
|
|
|
137
124
|
filepath = File.open(data_source.realize(params), 'r:UTF-8')
|
|
138
125
|
CSV.foreach(filepath, headers: csv_with_headers, return_headers: false, encoding: 'utf-8') do |row|
|
|
@@ -166,10 +153,9 @@ module GoodData
|
|
|
166
153
|
end
|
|
167
154
|
|
|
168
155
|
domain_clients = domain.clients(:all, data_product)
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
domain_clients.select! { |c| segments_filter.include?(c.segment_uri) }
|
|
156
|
+
if params.segments
|
|
157
|
+
segment_uris = params.segments.map(&:uri)
|
|
158
|
+
domain_clients = domain_clients.select { |c| segment_uris.include?(c.segment_uri) }
|
|
173
159
|
end
|
|
174
160
|
|
|
175
161
|
working_client_ids = []
|
|
@@ -177,8 +163,8 @@ module GoodData
|
|
|
177
163
|
filters.group_by { |u| u[multiple_projects_column] }.flat_map do |client_id, new_filters|
|
|
178
164
|
fail "Client id cannot be empty" if client_id.blank?
|
|
179
165
|
c = domain.clients(client_id, data_product)
|
|
180
|
-
if params.
|
|
181
|
-
puts "Client #{client_id} is outside segments_filter #{params.
|
|
166
|
+
if params.segments && !segment_uris.include?(c.segment_uri)
|
|
167
|
+
puts "Client #{client_id} is outside segments_filter #{params.segments}"
|
|
182
168
|
next
|
|
183
169
|
end
|
|
184
170
|
project = c.project
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
7
7
|
require_relative 'base_action'
|
|
8
|
+
require_relative '../user_bricks_helper'
|
|
8
9
|
|
|
9
10
|
module GoodData
|
|
10
11
|
module LCM2
|
|
@@ -125,18 +126,21 @@ module GoodData
|
|
|
125
126
|
do_not_touch_users_that_are_not_mentioned: do_not_touch_users_that_are_not_mentioned,
|
|
126
127
|
create_non_existing_user_groups: create_non_existing_user_groups)
|
|
127
128
|
when 'sync_one_project_based_on_custom_id'
|
|
128
|
-
|
|
129
|
-
goodot_id = md['GOODOT_CUSTOM_PROJECT_ID'].to_s
|
|
129
|
+
filter_value = UserBricksHelper.resolve_client_id(domain, project, data_product)
|
|
130
130
|
|
|
131
131
|
filtered_users = new_users.select do |u|
|
|
132
132
|
fail "Column for determining the project assignement is empty for \"#{u[:login]}\"" if u[:pid].blank?
|
|
133
133
|
client_id = u[:pid].to_s
|
|
134
|
-
|
|
134
|
+
client_id == filter_value
|
|
135
135
|
end
|
|
136
136
|
|
|
137
137
|
if filtered_users.empty?
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
params.gdc_logger.warn(
|
|
139
|
+
"Project \"#{project.pid}\" does not match " \
|
|
140
|
+
"any client ids in input source (both " \
|
|
141
|
+
"GOODOT_CUSTOM_PROJECT_ID and SEGMENT/CLIENT). " \
|
|
142
|
+
"We are unable to get the value to filter users."
|
|
143
|
+
)
|
|
140
144
|
end
|
|
141
145
|
|
|
142
146
|
puts "Project #{project.pid} will receive #{filtered_users.count} from #{new_users.count} users"
|
|
@@ -168,11 +172,19 @@ module GoodData
|
|
|
168
172
|
end
|
|
169
173
|
when 'sync_domain_client_workspaces'
|
|
170
174
|
domain_clients = domain.clients(:all, data_product)
|
|
175
|
+
if params.segments
|
|
176
|
+
segment_uris = params.segments.map(&:uri)
|
|
177
|
+
domain_clients = domain_clients.select { |c| segment_uris.include?(c.segment_uri) }
|
|
178
|
+
end
|
|
171
179
|
working_client_ids = []
|
|
172
180
|
res = []
|
|
173
181
|
res += new_users.group_by { |u| u[:pid] }.flat_map do |client_id, users|
|
|
174
182
|
fail "Client id cannot be empty" if client_id.blank?
|
|
175
183
|
c = domain.clients(client_id, data_product)
|
|
184
|
+
if params.segments && !segment_uris.include?(c.segment_uri)
|
|
185
|
+
puts "Client #{client_id} is outside segments_filter #{params.segments}"
|
|
186
|
+
next
|
|
187
|
+
end
|
|
176
188
|
project = c.project
|
|
177
189
|
fail "Client #{client_id} does not have project." unless project
|
|
178
190
|
working_client_ids << client_id.to_s
|