gooddata 2.2.0 → 2.3.1

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.
Files changed (67) hide show
  1. checksums.yaml +5 -5
  2. data/.gdc-ii-config.yaml +42 -1
  3. data/.github/workflows/build.yml +10 -17
  4. data/.github/workflows/pre-merge.yml +13 -13
  5. data/.pronto.yml +1 -0
  6. data/.rubocop.yml +2 -14
  7. data/CHANGELOG.md +12 -0
  8. data/Dockerfile +13 -7
  9. data/Dockerfile.jruby +5 -5
  10. data/Dockerfile.ruby +5 -7
  11. data/Gemfile +4 -2
  12. data/README.md +5 -4
  13. data/Rakefile +1 -1
  14. data/SDK_VERSION +1 -1
  15. data/VERSION +1 -1
  16. data/bin/run_brick.rb +7 -0
  17. data/ci/mysql/pom.xml +6 -1
  18. data/ci/redshift/pom.xml +3 -4
  19. data/docker-compose.lcm.yml +42 -1
  20. data/docker-compose.yml +42 -0
  21. data/gooddata.gemspec +28 -21
  22. data/lcm.rake +9 -0
  23. data/lib/gooddata/bricks/base_pipeline.rb +26 -0
  24. data/lib/gooddata/bricks/brick.rb +0 -1
  25. data/lib/gooddata/bricks/middleware/execution_result_middleware.rb +3 -3
  26. data/lib/gooddata/bricks/pipeline.rb +2 -14
  27. data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +18 -8
  28. data/lib/gooddata/cloud_resources/redshift/drivers/.gitkeepme +0 -0
  29. data/lib/gooddata/cloud_resources/redshift/redshift_client.rb +0 -2
  30. data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +1 -1
  31. data/lib/gooddata/lcm/actions/base_action.rb +157 -0
  32. data/lib/gooddata/lcm/actions/collect_data_product.rb +2 -1
  33. data/lib/gooddata/lcm/actions/collect_projects_warning_status.rb +53 -0
  34. data/lib/gooddata/lcm/actions/collect_segment_clients.rb +14 -0
  35. data/lib/gooddata/lcm/actions/initialize_continue_on_error_option.rb +87 -0
  36. data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +28 -2
  37. data/lib/gooddata/lcm/actions/provision_clients.rb +34 -5
  38. data/lib/gooddata/lcm/actions/synchronize_cas.rb +24 -4
  39. data/lib/gooddata/lcm/actions/synchronize_clients.rb +56 -4
  40. data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +28 -3
  41. data/lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb +48 -11
  42. data/lib/gooddata/lcm/actions/synchronize_kd_dashboard_permission.rb +103 -0
  43. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +60 -15
  44. data/lib/gooddata/lcm/actions/synchronize_ldm_layout.rb +98 -0
  45. data/lib/gooddata/lcm/actions/synchronize_pp_dashboard_permission.rb +108 -0
  46. data/lib/gooddata/lcm/actions/synchronize_schedules.rb +31 -1
  47. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +14 -9
  48. data/lib/gooddata/lcm/actions/synchronize_user_groups.rb +30 -4
  49. data/lib/gooddata/lcm/actions/synchronize_users.rb +11 -10
  50. data/lib/gooddata/lcm/actions/update_metric_formats.rb +21 -4
  51. data/lib/gooddata/lcm/exceptions/lcm_execution_warning.rb +15 -0
  52. data/lib/gooddata/lcm/helpers/check_helper.rb +19 -0
  53. data/lib/gooddata/lcm/lcm2.rb +45 -4
  54. data/lib/gooddata/lcm/user_bricks_helper.rb +9 -0
  55. data/lib/gooddata/mixins/inspector.rb +1 -1
  56. data/lib/gooddata/models/ldm_layout.rb +38 -0
  57. data/lib/gooddata/models/project.rb +197 -22
  58. data/lib/gooddata/models/project_creator.rb +83 -6
  59. data/lib/gooddata/models/segment.rb +2 -1
  60. data/lib/gooddata/models/user_filters/user_filter_builder.rb +104 -15
  61. data/lib/gooddata/rest/connection.rb +5 -3
  62. data/lib/gooddata/rest/phmap.rb +1 -0
  63. data/lib/gooddata.rb +1 -0
  64. data/lib/gooddata_brick_base.rb +35 -0
  65. data/sonar-project.properties +6 -0
  66. metadata +104 -57
  67. data/lib/gooddata/cloud_resources/redshift/drivers/log4j.properties +0 -15
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gooddata
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kolesnikov
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2022-02-15 00:00:00.000000000 Z
17
+ date: 2024-03-21 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: license_finder
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '11.1'
39
+ version: '13.0'
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '11.1'
46
+ version: '13.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: redcarpet
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -64,56 +64,56 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 3.5.0
67
+ version: 3.12.0
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 3.5.0
74
+ version: 3.12.0
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rspec-expectations
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '3.5'
81
+ version: '3.12'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '3.5'
88
+ version: '3.12'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: rspec_junit_formatter
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: 0.3.0
95
+ version: 0.6.0
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: 0.3.0
102
+ version: 0.6.0
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rubocop
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - "~>"
107
+ - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: 0.59.1
109
+ version: '1.28'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - "~>"
114
+ - - ">="
115
115
  - !ruby/object:Gem::Version
116
- version: 0.59.1
116
+ version: '1.28'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: simplecov
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -202,42 +202,42 @@ dependencies:
202
202
  name: pronto
203
203
  requirement: !ruby/object:Gem::Requirement
204
204
  requirements:
205
- - - "~>"
205
+ - - ">="
206
206
  - !ruby/object:Gem::Version
207
207
  version: '0.10'
208
208
  type: :development
209
209
  prerelease: false
210
210
  version_requirements: !ruby/object:Gem::Requirement
211
211
  requirements:
212
- - - "~>"
212
+ - - ">="
213
213
  - !ruby/object:Gem::Version
214
214
  version: '0.10'
215
215
  - !ruby/object:Gem::Dependency
216
216
  name: pronto-rubocop
217
217
  requirement: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - "~>"
219
+ - - ">="
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0.9'
222
222
  type: :development
223
223
  prerelease: false
224
224
  version_requirements: !ruby/object:Gem::Requirement
225
225
  requirements:
226
- - - "~>"
226
+ - - ">="
227
227
  - !ruby/object:Gem::Version
228
228
  version: '0.9'
229
229
  - !ruby/object:Gem::Dependency
230
230
  name: pronto-reek
231
231
  requirement: !ruby/object:Gem::Requirement
232
232
  requirements:
233
- - - "~>"
233
+ - - ">="
234
234
  - !ruby/object:Gem::Version
235
235
  version: '0.9'
236
236
  type: :development
237
237
  prerelease: false
238
238
  version_requirements: !ruby/object:Gem::Requirement
239
239
  requirements:
240
- - - "~>"
240
+ - - ">="
241
241
  - !ruby/object:Gem::Version
242
242
  version: '0.9'
243
243
  - !ruby/object:Gem::Dependency
@@ -286,22 +286,58 @@ dependencies:
286
286
  name: activesupport
287
287
  requirement: !ruby/object:Gem::Requirement
288
288
  requirements:
289
- - - ">="
289
+ - - "<"
290
290
  - !ruby/object:Gem::Version
291
- version: 5.2.4.3
291
+ version: 7.0.0
292
+ type: :runtime
293
+ prerelease: false
294
+ version_requirements: !ruby/object:Gem::Requirement
295
+ requirements:
292
296
  - - "<"
293
297
  - !ruby/object:Gem::Version
294
- version: '6.0'
298
+ version: 7.0.0
299
+ - !ruby/object:Gem::Dependency
300
+ name: net-smtp
301
+ requirement: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - ">="
304
+ - !ruby/object:Gem::Version
305
+ version: '0'
295
306
  type: :runtime
296
307
  prerelease: false
297
308
  version_requirements: !ruby/object:Gem::Requirement
298
309
  requirements:
299
310
  - - ">="
300
311
  - !ruby/object:Gem::Version
301
- version: 5.2.4.3
302
- - - "<"
312
+ version: '0'
313
+ - !ruby/object:Gem::Dependency
314
+ name: net-imap
315
+ requirement: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - ">="
318
+ - !ruby/object:Gem::Version
319
+ version: '0'
320
+ type: :runtime
321
+ prerelease: false
322
+ version_requirements: !ruby/object:Gem::Requirement
323
+ requirements:
324
+ - - ">="
325
+ - !ruby/object:Gem::Version
326
+ version: '0'
327
+ - !ruby/object:Gem::Dependency
328
+ name: net-pop
329
+ requirement: !ruby/object:Gem::Requirement
330
+ requirements:
331
+ - - ">="
303
332
  - !ruby/object:Gem::Version
304
- version: '6.0'
333
+ version: '0'
334
+ type: :runtime
335
+ prerelease: false
336
+ version_requirements: !ruby/object:Gem::Requirement
337
+ requirements:
338
+ - - ">="
339
+ - !ruby/object:Gem::Version
340
+ version: '0'
305
341
  - !ruby/object:Gem::Dependency
306
342
  name: aws-sdk-s3
307
343
  requirement: !ruby/object:Gem::Requirement
@@ -320,50 +356,50 @@ dependencies:
320
356
  name: docile
321
357
  requirement: !ruby/object:Gem::Requirement
322
358
  requirements:
323
- - - ">"
359
+ - - "~>"
324
360
  - !ruby/object:Gem::Version
325
361
  version: '1.1'
326
- - - "<"
327
- - !ruby/object:Gem::Version
328
- version: 1.4.0
329
362
  type: :runtime
330
363
  prerelease: false
331
364
  version_requirements: !ruby/object:Gem::Requirement
332
365
  requirements:
333
- - - ">"
366
+ - - "~>"
334
367
  - !ruby/object:Gem::Version
335
368
  version: '1.1'
336
- - - "<"
337
- - !ruby/object:Gem::Version
338
- version: 1.4.0
339
369
  - !ruby/object:Gem::Dependency
340
370
  name: azure-storage-blob
341
371
  requirement: !ruby/object:Gem::Requirement
342
372
  requirements:
343
373
  - - "~>"
344
374
  - !ruby/object:Gem::Version
345
- version: 1.1.0
375
+ version: '2.0'
346
376
  type: :runtime
347
377
  prerelease: false
348
378
  version_requirements: !ruby/object:Gem::Requirement
349
379
  requirements:
350
380
  - - "~>"
351
381
  - !ruby/object:Gem::Version
352
- version: 1.1.0
382
+ version: '2.0'
353
383
  - !ruby/object:Gem::Dependency
354
384
  name: nokogiri
355
385
  requirement: !ruby/object:Gem::Requirement
356
386
  requirements:
357
387
  - - "~>"
358
388
  - !ruby/object:Gem::Version
359
- version: 1.10.0
389
+ version: '1'
390
+ - - ">="
391
+ - !ruby/object:Gem::Version
392
+ version: 1.10.8
360
393
  type: :runtime
361
394
  prerelease: false
362
395
  version_requirements: !ruby/object:Gem::Requirement
363
396
  requirements:
364
397
  - - "~>"
365
398
  - !ruby/object:Gem::Version
366
- version: 1.10.0
399
+ version: '1'
400
+ - - ">="
401
+ - !ruby/object:Gem::Version
402
+ version: 1.10.8
367
403
  - !ruby/object:Gem::Dependency
368
404
  name: gli
369
405
  requirement: !ruby/object:Gem::Requirement
@@ -398,14 +434,14 @@ dependencies:
398
434
  requirements:
399
435
  - - "~>"
400
436
  - !ruby/object:Gem::Version
401
- version: '1.8'
437
+ version: '2.6'
402
438
  type: :runtime
403
439
  prerelease: false
404
440
  version_requirements: !ruby/object:Gem::Requirement
405
441
  requirements:
406
442
  - - "~>"
407
443
  - !ruby/object:Gem::Version
408
- version: '1.8'
444
+ version: '2.6'
409
445
  - !ruby/object:Gem::Dependency
410
446
  name: multi_json
411
447
  requirement: !ruby/object:Gem::Requirement
@@ -448,6 +484,20 @@ dependencies:
448
484
  - - "~>"
449
485
  - !ruby/object:Gem::Version
450
486
  version: '1.1'
487
+ - !ruby/object:Gem::Dependency
488
+ name: sequel
489
+ requirement: !ruby/object:Gem::Requirement
490
+ requirements:
491
+ - - "<"
492
+ - !ruby/object:Gem::Version
493
+ version: 5.72.0
494
+ type: :runtime
495
+ prerelease: false
496
+ version_requirements: !ruby/object:Gem::Requirement
497
+ requirements:
498
+ - - "<"
499
+ - !ruby/object:Gem::Version
500
+ version: 5.72.0
451
501
  - !ruby/object:Gem::Dependency
452
502
  name: remote_syslog_logger
453
503
  requirement: !ruby/object:Gem::Requirement
@@ -469,9 +519,6 @@ dependencies:
469
519
  - - ">="
470
520
  - !ruby/object:Gem::Version
471
521
  version: '2.4'
472
- - - "<"
473
- - !ruby/object:Gem::Version
474
- version: '4.0'
475
522
  type: :runtime
476
523
  prerelease: false
477
524
  version_requirements: !ruby/object:Gem::Requirement
@@ -479,9 +526,6 @@ dependencies:
479
526
  - - ">="
480
527
  - !ruby/object:Gem::Version
481
528
  version: '2.4'
482
- - - "<"
483
- - !ruby/object:Gem::Version
484
- version: '4.0'
485
529
  - !ruby/object:Gem::Dependency
486
530
  name: rest-client
487
531
  requirement: !ruby/object:Gem::Requirement
@@ -500,22 +544,16 @@ dependencies:
500
544
  name: rubyzip
501
545
  requirement: !ruby/object:Gem::Requirement
502
546
  requirements:
503
- - - "~>"
504
- - !ruby/object:Gem::Version
505
- version: '1.2'
506
547
  - - ">="
507
548
  - !ruby/object:Gem::Version
508
- version: 1.2.1
549
+ version: '0'
509
550
  type: :runtime
510
551
  prerelease: false
511
552
  version_requirements: !ruby/object:Gem::Requirement
512
553
  requirements:
513
- - - "~>"
514
- - !ruby/object:Gem::Version
515
- version: '1.2'
516
554
  - - ">="
517
555
  - !ruby/object:Gem::Version
518
- version: 1.2.1
556
+ version: '0'
519
557
  - !ruby/object:Gem::Dependency
520
558
  name: terminal-table
521
559
  requirement: !ruby/object:Gem::Requirement
@@ -662,6 +700,7 @@ files:
662
700
  - lib/gooddata.rb
663
701
  - lib/gooddata/app/app.rb
664
702
  - lib/gooddata/bricks/base_downloader.rb
703
+ - lib/gooddata/bricks/base_pipeline.rb
665
704
  - lib/gooddata/bricks/brick.rb
666
705
  - lib/gooddata/bricks/bricks.rb
667
706
  - lib/gooddata/bricks/hello_world_brick.rb
@@ -713,7 +752,7 @@ files:
713
752
  - lib/gooddata/cloud_resources/mysql/mysql_client.rb
714
753
  - lib/gooddata/cloud_resources/postgresql/drivers/.gitkeepme
715
754
  - lib/gooddata/cloud_resources/postgresql/postgresql_client.rb
716
- - lib/gooddata/cloud_resources/redshift/drivers/log4j.properties
755
+ - lib/gooddata/cloud_resources/redshift/drivers/.gitkeepme
717
756
  - lib/gooddata/cloud_resources/redshift/redshift_client.rb
718
757
  - lib/gooddata/cloud_resources/snowflake/drivers/.gitkeepme
719
758
  - lib/gooddata/cloud_resources/snowflake/snowflake_client.rb
@@ -790,6 +829,7 @@ files:
790
829
  - lib/gooddata/lcm/actions/collect_ldm_objects.rb
791
830
  - lib/gooddata/lcm/actions/collect_meta.rb
792
831
  - lib/gooddata/lcm/actions/collect_multiple_projects_column.rb
832
+ - lib/gooddata/lcm/actions/collect_projects_warning_status.rb
793
833
  - lib/gooddata/lcm/actions/collect_segment_clients.rb
794
834
  - lib/gooddata/lcm/actions/collect_segments.rb
795
835
  - lib/gooddata/lcm/actions/collect_tagged_objects.rb
@@ -802,6 +842,7 @@ files:
802
842
  - lib/gooddata/lcm/actions/hello_world.rb
803
843
  - lib/gooddata/lcm/actions/help.rb
804
844
  - lib/gooddata/lcm/actions/import_object_collections.rb
845
+ - lib/gooddata/lcm/actions/initialize_continue_on_error_option.rb
805
846
  - lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb
806
847
  - lib/gooddata/lcm/actions/provision_clients.rb
807
848
  - lib/gooddata/lcm/actions/purge_clients.rb
@@ -814,10 +855,13 @@ files:
814
855
  - lib/gooddata/lcm/actions/synchronize_color_palette.rb
815
856
  - lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb
816
857
  - lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb
858
+ - lib/gooddata/lcm/actions/synchronize_kd_dashboard_permission.rb
817
859
  - lib/gooddata/lcm/actions/synchronize_label_types.rb
818
860
  - lib/gooddata/lcm/actions/synchronize_ldm.rb
861
+ - lib/gooddata/lcm/actions/synchronize_ldm_layout.rb
819
862
  - lib/gooddata/lcm/actions/synchronize_meta.rb
820
863
  - lib/gooddata/lcm/actions/synchronize_new_segments.rb
864
+ - lib/gooddata/lcm/actions/synchronize_pp_dashboard_permission.rb
821
865
  - lib/gooddata/lcm/actions/synchronize_processes.rb
822
866
  - lib/gooddata/lcm/actions/synchronize_schedules.rb
823
867
  - lib/gooddata/lcm/actions/synchronize_tag_objects.rb
@@ -836,6 +880,7 @@ files:
836
880
  - lib/gooddata/lcm/dsl/params_dsl.rb
837
881
  - lib/gooddata/lcm/dsl/type_dsl.rb
838
882
  - lib/gooddata/lcm/exceptions/lcm_execution_error.rb
883
+ - lib/gooddata/lcm/exceptions/lcm_execution_warning.rb
839
884
  - lib/gooddata/lcm/helpers/check_helper.rb
840
885
  - lib/gooddata/lcm/helpers/helpers.rb
841
886
  - lib/gooddata/lcm/helpers/release_table_helper.rb
@@ -949,6 +994,7 @@ files:
949
994
  - lib/gooddata/models/execution_detail.rb
950
995
  - lib/gooddata/models/from_wire.rb
951
996
  - lib/gooddata/models/invitation.rb
997
+ - lib/gooddata/models/ldm_layout.rb
952
998
  - lib/gooddata/models/links.rb
953
999
  - lib/gooddata/models/membership.rb
954
1000
  - lib/gooddata/models/metadata.rb
@@ -1012,6 +1058,7 @@ files:
1012
1058
  - lib/gooddata/rest/rest.rb
1013
1059
  - lib/gooddata/rest/rest_aggregator.rb
1014
1060
  - lib/gooddata/version.rb
1061
+ - lib/gooddata_brick_base.rb
1015
1062
  - lib/templates/bricks/brick.rb.erb
1016
1063
  - lib/templates/bricks/main.rb.erb
1017
1064
  - lib/templates/project/Goodfile.erb
@@ -1021,6 +1068,7 @@ files:
1021
1068
  - lib/templates/project/model/model.rb.erb
1022
1069
  - rubydev_public.gpg.encrypted
1023
1070
  - rubydev_secret_keys.gpg.encrypted
1071
+ - sonar-project.properties
1024
1072
  - tmp/.gitkeepme
1025
1073
  - yard-server.sh
1026
1074
  homepage: http://github.com/gooddata/gooddata-ruby
@@ -1042,8 +1090,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1042
1090
  - !ruby/object:Gem::Version
1043
1091
  version: '0'
1044
1092
  requirements: []
1045
- rubyforge_project:
1046
- rubygems_version: 2.5.2.3
1093
+ rubygems_version: 3.4.6
1047
1094
  signing_key:
1048
1095
  specification_version: 4
1049
1096
  summary: A convenient Ruby wrapper around the GoodData RESTful API
@@ -1,15 +0,0 @@
1
- #
2
- # Copyright (C) 2007-2019, GoodData(R) Corporation. All rights reserved.
3
- #
4
-
5
- #=======================================================================================================================
6
- # Root Logger
7
- #=======================================================================================================================
8
- #log4j.rootCategory=INFO, Syslog, Console
9
- log4j.rootCategory=INFO
10
-
11
- #=======================================================================================================================
12
- # Logger with Higher Verbosity
13
- #=======================================================================================================================
14
- log4j.logger.com.amazonaws=INFO
15
-