gooddata 2.1.14 → 2.2.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.
Files changed (78) hide show
  1. checksums.yaml +5 -5
  2. data/.gdc-ii-config.yaml +1 -1
  3. data/.github/workflows/build.yml +66 -0
  4. data/.github/workflows/pre-merge.yml +72 -0
  5. data/.sonar.settings +4 -0
  6. data/.travis.yml +78 -12
  7. data/CHANGELOG.md +62 -0
  8. data/Dockerfile +25 -14
  9. data/LICENSE +4418 -17
  10. data/LICENSE.rb +1 -1
  11. data/README.md +3 -3
  12. data/Rakefile +8 -1
  13. data/SDK_VERSION +1 -1
  14. data/VERSION +1 -1
  15. data/bin/test_projects_cleanup.rb +45 -3
  16. data/ci/mssql/pom.xml +62 -0
  17. data/ci/mysql/pom.xml +57 -0
  18. data/ci/postgresql/pom.xml +57 -0
  19. data/ci/redshift/pom.xml +1 -1
  20. data/dev-gooddata-sso.pub.encrypted +40 -40
  21. data/gdc_fossa_ruby_sdk.yaml +1 -0
  22. data/gooddata.gemspec +10 -6
  23. data/k8s/charts/lcm-bricks/Chart.yaml +1 -1
  24. data/k8s/charts/lcm-bricks/templates/prometheus/alertingRules.yaml +11 -1
  25. data/lcm.rake +2 -2
  26. data/lib/gooddata/bricks/middleware/aws_middleware.rb +35 -9
  27. data/lib/gooddata/cloud_resources/blobstorage/blobstorage_client.rb +98 -0
  28. data/lib/gooddata/cloud_resources/{cloud_resouce_factory.rb → cloud_resource_factory.rb} +8 -0
  29. data/lib/gooddata/cloud_resources/cloud_resources.rb +1 -1
  30. data/lib/gooddata/cloud_resources/mssql/drivers/.gitkeepme +0 -0
  31. data/lib/gooddata/cloud_resources/mssql/mssql_client.rb +122 -0
  32. data/lib/gooddata/cloud_resources/mysql/drivers/.gitkeepme +0 -0
  33. data/lib/gooddata/cloud_resources/mysql/mysql_client.rb +111 -0
  34. data/lib/gooddata/cloud_resources/postgresql/drivers/.gitkeepme +0 -0
  35. data/lib/gooddata/cloud_resources/postgresql/postgresql_client.rb +106 -0
  36. data/lib/gooddata/cloud_resources/snowflake/snowflake_client.rb +18 -1
  37. data/lib/gooddata/commands/scaffold.rb +9 -10
  38. data/lib/gooddata/core/nil_logger.rb +3 -1
  39. data/lib/gooddata/helpers/data_helper.rb +9 -5
  40. data/lib/gooddata/helpers/global_helpers.rb +6 -5
  41. data/lib/gooddata/lcm/actions/associate_clients.rb +8 -2
  42. data/lib/gooddata/lcm/actions/base_action.rb +0 -2
  43. data/lib/gooddata/lcm/actions/collect_meta.rb +3 -1
  44. data/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +3 -2
  45. data/lib/gooddata/lcm/actions/provision_clients.rb +31 -10
  46. data/lib/gooddata/lcm/actions/synchronize_clients.rb +56 -7
  47. data/lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb +64 -0
  48. data/lib/gooddata/lcm/actions/synchronize_ldm.rb +19 -8
  49. data/lib/gooddata/lcm/actions/synchronize_user_filters.rb +16 -9
  50. data/lib/gooddata/lcm/actions/synchronize_users.rb +7 -6
  51. data/lib/gooddata/lcm/actions/update_metric_formats.rb +185 -0
  52. data/lib/gooddata/lcm/data/delete_from_lcm_release.sql.erb +5 -0
  53. data/lib/gooddata/lcm/helpers/release_table_helper.rb +42 -8
  54. data/lib/gooddata/lcm/lcm2.rb +5 -2
  55. data/lib/gooddata/lcm/types/base_type.rb +0 -2
  56. data/lib/gooddata/mixins/md_object_query.rb +9 -6
  57. data/lib/gooddata/models/blueprint/project_blueprint.rb +0 -2
  58. data/lib/gooddata/models/client.rb +14 -12
  59. data/lib/gooddata/models/data_source.rb +668 -0
  60. data/lib/gooddata/models/dataset_mapping.rb +36 -0
  61. data/lib/gooddata/models/domain.rb +3 -2
  62. data/lib/gooddata/models/metadata/analytical_dashboard.rb +49 -0
  63. data/lib/gooddata/models/metadata/analytical_visualization_object.rb +30 -0
  64. data/lib/gooddata/models/metadata/label.rb +26 -27
  65. data/lib/gooddata/models/metadata/visualization_object.rb +50 -0
  66. data/lib/gooddata/models/project.rb +66 -19
  67. data/lib/gooddata/models/schedule.rb +13 -1
  68. data/lib/gooddata/models/user_filters/user_filter_builder.rb +58 -54
  69. data/lib/gooddata/models/user_group.rb +0 -1
  70. data/lib/gooddata/rest/connection.rb +6 -4
  71. data/lib/gooddata/rest/phmap.rb +2 -1
  72. data/lib/gooddata.rb +2 -0
  73. data/rubydev_public.gpg.encrypted +51 -51
  74. data/rubydev_secret_keys.gpg.encrypted +109 -109
  75. metadata +52 -27
  76. data/DEPENDENCIES.md +0 -880
  77. data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +0 -37
  78. data/lib/gooddata/helpers/data_source_helpers.rb +0 -47
@@ -81,7 +81,8 @@ module GoodData
81
81
  %r{/gdc/internal/lcm/domains/[^\/]+/dataproducts/[^\/]+/segments/[^\/]+/syncProcesses}],
82
82
 
83
83
  ['/gdc/internal/projects/{id}/objects/setPermissions', %r{/gdc/internal/projects/[^\/]+/objects/setPermissions}],
84
-
84
+ ['/gdc/internal/projects/{id}/roles', %r{/gdc/internal/projects/[^\/]+/roles}],
85
+ ['/gdc/dataload/projects/{id}/modelMapping/datasets/bulk/upsert', %r{/gdc/dataload/projects/[^\/]+/modelMapping/datasets/bulk/upsert}],
85
86
  ['/gdc/md/{id}/variables/item/{id}', %r{/gdc/md/[^\/]+/variables/item/[\d]+}],
86
87
  ['/gdc/md/{id}/validate/task/{id}', %r{/gdc/md/[^\/]+/validate/task/[^\/]+}],
87
88
  ['/gdc/md/{id}/using2/{id}/{id}', %r{/gdc/md/[^\/]+/using2/[\d]+/[\d]+}],
data/lib/gooddata.rb CHANGED
@@ -37,3 +37,5 @@ require 'backports/2.1.0/array/to_h'
37
37
 
38
38
  # Helpers
39
39
  require 'gooddata/helpers/global_helpers'
40
+
41
+ require 'active_support/core_ext/hash/compact' unless RUBY_VERSION >= '2.5'
@@ -1,51 +1,51 @@
1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- Z+pD9njQZACZ19tqsKTnldP5OfNL7sYoOzYnFHgI6/39UbWCw5fty5I1/t3j
13
- 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
- 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
- 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
- NN/E+T8x7OHzswh8w+2ljU3tP/d1v1sqGsBD5yAXa4zUbQ9CWjlIrTZvuPys
17
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- y+gUacJD8uqw0eU8gwV1/biKLIKsycIxhjOVPF/t74+O69QvMKOFj/xdOYbo
28
- iwByfsYtM95cE46A0OmhE98KcwHF9Qqd4OLp3jmcM0fuXuho9zROtEF5yiex
29
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- LV1IkISbTwtWjvJBAqj3SwppmfZQXooW5Swzo6akMGZUPzUqlD0ZdKwblEm1
41
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 3u1y2uNpGCRnaOPggDAMQVXIQfbzXyLi5iD2ylSh90Lu6/BlDp/Papg1bPSU
49
- 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
- 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
- 0i4/6oWjDT6cFtTL5nnDvkZxdCfMew2rGMU1sSK9kLZlre2W2lM=
1
+ d+yw9kSXvVM9eqgc2x0uteC1/hPv85CVq9SFFbqtERE5MufwfK8P86ClYw5+
2
+ waTIxiLSLubHwmpwHSOJc/NNgSn3ykf1LPDDYMdy3w41nKVbhSuI9NDAO816
3
+ TIAUhhS/+nUhYSHBJoIs1N6Bs8VpsM2Hy1ZlfsLiejLW9DulZtAtQQ8OKlpX
4
+ 9JaXt6AbASakMRhag2uE68m+7OeIkxo1rYus2FNA63MmL2jBdfbSGgoqu44N
5
+ FD2d/hwPJW9Emjayfiw5BInX6UKmvLkM2wGB43KACqv28yZtzzcT4kamJMD+
6
+ jX8paBoJ8OvwQA+CklYqoBTmJkWPEcTFq5qMTD8fEk0a1poG8SzLvgp16cXr
7
+ zkwZf2J1fZO/4op0akY5cSSBe8PN9npNkCWx04wqKgsdMn2EtVH1fvkzDGKC
8
+ 3OkZVVsdHW8u8xVZHcuaoF12DEyF3Gxcz32phejsZFsSJ5KsYhmc5Q75bDZa
9
+ KvzIJdo40igOZ74UuZs57L9W+IGiWbJkOk7B+HGfFDQotuHYz70aeusAn2Fh
10
+ itPgGeZI4fCl5HFPCkVBrCpqytMNCXVhG4zATYO0kGJiHnvSe5sd5YkTZ4de
11
+ cpmbwjIgQus2nhr9ySUyw+KaZ/ZO2gvTFx/5ZjjmB1MVHlHmeqUvIhvofref
12
+ 6pmBLTMMnjkm83R2s4DIo8+rf7uBJA5OMkIp/1iOVgRllmaNSdQmqqkErPBG
13
+ J4vQRJ0/Le+EC6f8r697GgOLVxv56C969qcnd7c1RbjdB6Kwd9fSiXslwrp9
14
+ ulIHAFTPs0iTYYqm185ob6ywIxOl1YBNDFqlVjo0L85MhRyFwmRlPa36UiJY
15
+ BOyzLgYnybyNdmhAZH38aO2aL9qbLN8OJj25AdkCQu3Uoxqtszhf6SGX8g7G
16
+ 3aumn6RUg6Zo5ceGfEeLDyIEUepw8FKO90OwwkgRcExFQGBXHySd26I0dXBb
17
+ xrxdAmSDQWJQy5V99qeEan4v0LEonYnF+86FtAVDVS9R+LF7sXY5tPqb7w5s
18
+ Mr8rMAREsSx7qq0Zk2/gtfPuYZR5vEM8cYnbCvqKsWvgBNBHF1eYuP+jzL3A
19
+ u5+PfDUO6pw1RVRvMva6m/CYuL/X7tDfQ22v/kmU47oHZSRbpGZMz9Rdy0Bg
20
+ PKVaQ+L+oH90BNDGzRbbpJ2nhPXMUw3A7758JqgK/MTBQClJC2eDJaJLAyZk
21
+ zDSZ3gmbjjJw7gzq1HlrHHmhWEjlpBFOVF+Xx2mAqRNfoG1id3KFklbeK9ms
22
+ VEZqDMsb+6GYNWPIUo9vV8w2CCUd9jgIsaRgwv29Rk1quhsJCu8DMAi7+O1F
23
+ owEOfuZnFbF/t6Jo3nRfIGHFp3HSXvo6+5q4oQD6JJzUrTXK7rcgTjRXhtY1
24
+ RHBt5B1pXXIZ1veLPk+CBqyqbkXEHh0jItGWfuuZIOY7waCnNGf49Pu1Hmrj
25
+ S8ujwWp2ujli5dcDk3sPdpjf/jSZ/eteUsc6iH+pEjzhVM3Ip3csSvJuC7uK
26
+ mp/OpDjmt4s9Qr3KWO5U+12hQDLVv9ltRflncCWKfysEQDdHYUGHgAJMtH6e
27
+ LJGL2jKwIun9qwIhcxcBthSydLBQvZAXBDd6/lUYxyFR4Np7JbquG4dq03W+
28
+ gn9ZuH+RBCe/9/BDQUvZT+FrA1oL4pT06qzP6HuttU8hsaAo4xnArrtsexFj
29
+ qc62BKr51qa027MjWU8Y/HMiqDAV39XgsBohXEEkAyzLpdj2wseZ5GTAuNpX
30
+ pqIeaRXUrL+Xa870S8BfO1QaiBJywfKHFqbNqYiLwrzSrZjV8pT6jqT2wyw1
31
+ mDvZE1iACgD661Y5bU3mW1JEXdr9C0pgUrXCPKPd6G7VIjwUFwtYNMXncMFG
32
+ RhSetVKw8quFFJadeos6d/kqf/BspGEvmeWh9odxJJ5/LoQYNmd1ri111bXj
33
+ nPIFX+F1iuBiSJq6eTVPBlzbTxJFWVBG4dncG4WtJL74p1Duzqfho3WIGsnS
34
+ J0HkCmJMIIsSZGhVx1aQcKwg/AwjRpXmvZaCihzBDv/P334bJhlosMfFgbJL
35
+ k9ZuIDNkXuoudrefjMyP2jn28mCVaM5jpkBmczKeVV0S6JImVWOLoA4FKxfL
36
+ tSE0KwXhIeQQx5t8qh3UA+GfYu8aPn5RSOCOc4dQKovYIRhTgAkwVE35GOPt
37
+ ZPt2zX3bjIPlM52w3X/fEB9OuiGdHiAyV/vPxD4yoxa4BXTRqHex0/9NBEAx
38
+ u/a94uWetjnIT5/MPPz0wZ83wyiJMTMF8MOTmOprQ5txBiMGR5ZpsXgFp351
39
+ N525ye6sE6c627ihHqbZ01D7Qyk3iZ/9/kT0wGnocGXXuWdihtgZD16y3lIU
40
+ x+Kv40HbJnJqYL4K9bqv8NxzKEC380lBsjodUPkMDvfQA6HJ/jUrtmpX9T+t
41
+ 5RUca3xneS6W5kINg4ozB3tOD322wCo+RugIGLFfF/bW61IOsjS1U0hVYx/j
42
+ gJzQj246WoA0+aZXbZoiv0klxOsxkbEXEE9+BCWM7Xj/KLIVtdXNy8b8Cp6A
43
+ iCt6bTQEZP+CO06TevvP/ghLyB7Fx5SCZ3JFxmDrtyw2V0JJbbmpDyGmHSK8
44
+ UWxYUPWkeiDsIHfB68K2p/y4wxXtdTISPRbwB8aEgx+1L4arED8T49W2vi2M
45
+ Hr1h5S7ncHDYk4kfOoG2sbA6ZuFaRjBPbLxFwKsOXTA6NA3YZ3xBhlicdPSO
46
+ U3px15xPwXbvnWMo/5BeChtl574gHl3W8yuw0hePf45QitkUnqyvNxAKV4pT
47
+ cg1JeYZhspwuWOtCYiUFweAgBzSmIvWH6STKoVSEg4Iz2jtVX9txOHTMwf8p
48
+ YWlUhc/IFUMRI/MqMclAynuWp0ULEIIOYQZpRdnBRKioeCZM/HfImjbEHDzo
49
+ UVmGmm/mwd5g3QGXW6kFxG7bvx0z6+D54/AZOCY33OHZ7pSz7FqNKhjDc7qX
50
+ MKIyKEBy1qVA+MIVv24kZoRlVIedbl+V2Ck/D5iCrK2axPoYFO0e7NrG+w5j
51
+ gWys9lGvA1vSqpuvwlFHEMWnjTruMN83oLrJYay0VMab/PKz/eY=
@@ -1,109 +1,109 @@
1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 2hpk5JJHUm9I9rTJHmngP1lGdvr6qCE6dckfvEKnQ5uW5hUUxEpdv58TCRPE
13
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- U7WtQmWrPvwi7709Y3rbztzE2GDGX2bTSS/nXNmFQlb5vwxMjkyHCh9gbTTn
27
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- cWvnK+SKT8uuCDI22pqzlb21kPOqz6d9Bik8Kl1pX3a96ORXuS4ea1OjLiGm
42
- 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
- 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
- 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
- 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
- OHx1rXWxfPu35Qxfs/oXUkXr+zyBGbk6URvkApOifbhdQDQjJBgXzHr5Ye4R
47
- 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
- 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
- 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
- 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
- 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
- RrIdpQUxSFhHNS/AZaNRQuI98KlsI09l2VPZdPtdt9cksbOpEsRWNo2C0CnC
53
- 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
- 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
- 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
- 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
- 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
- 2TVHLuRlmVebswGGHKVZxLFpBNpkoz1MgL75DtVgN/OcLyCMyheZ2mmcEu7h
59
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- fT8cpXZRJt2vBnyPtGqnLiy2kV/7BbetcAtD+hkseRKYTY6oBMuZKoErsLJi
69
- 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
- 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
- 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
- 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
- 3rUgnt4/lsWp7t6XafH8y0QaNR6w2T/0pb+WomaPG5QD8P7iyvFwSdPtDbPr
74
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- BZOhpj4ZP7NNtXYqKuCjnb5L7dnaniOP+Lfl7mYQyI/6d3g4oAIx4LakvgiK
87
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
109
- 3pSK3Q==
1
+ 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
109
+ j9/cqg==
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.1.14
4
+ version: 2.2.0
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: 2020-11-11 00:00:00.000000000 Z
17
+ date: 2022-02-15 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: license_finder
@@ -320,30 +320,50 @@ dependencies:
320
320
  name: docile
321
321
  requirement: !ruby/object:Gem::Requirement
322
322
  requirements:
323
- - - "~>"
323
+ - - ">"
324
324
  - !ruby/object:Gem::Version
325
325
  version: '1.1'
326
+ - - "<"
327
+ - !ruby/object:Gem::Version
328
+ version: 1.4.0
326
329
  type: :runtime
327
330
  prerelease: false
328
331
  version_requirements: !ruby/object:Gem::Requirement
329
332
  requirements:
330
- - - "~>"
333
+ - - ">"
331
334
  - !ruby/object:Gem::Version
332
335
  version: '1.1'
336
+ - - "<"
337
+ - !ruby/object:Gem::Version
338
+ version: 1.4.0
339
+ - !ruby/object:Gem::Dependency
340
+ name: azure-storage-blob
341
+ requirement: !ruby/object:Gem::Requirement
342
+ requirements:
343
+ - - "~>"
344
+ - !ruby/object:Gem::Version
345
+ version: 1.1.0
346
+ type: :runtime
347
+ prerelease: false
348
+ version_requirements: !ruby/object:Gem::Requirement
349
+ requirements:
350
+ - - "~>"
351
+ - !ruby/object:Gem::Version
352
+ version: 1.1.0
333
353
  - !ruby/object:Gem::Dependency
334
- name: erubis
354
+ name: nokogiri
335
355
  requirement: !ruby/object:Gem::Requirement
336
356
  requirements:
337
357
  - - "~>"
338
358
  - !ruby/object:Gem::Version
339
- version: '2.7'
359
+ version: 1.10.0
340
360
  type: :runtime
341
361
  prerelease: false
342
362
  version_requirements: !ruby/object:Gem::Requirement
343
363
  requirements:
344
364
  - - "~>"
345
365
  - !ruby/object:Gem::Version
346
- version: '2.7'
366
+ version: 1.10.0
347
367
  - !ruby/object:Gem::Dependency
348
368
  name: gli
349
369
  requirement: !ruby/object:Gem::Requirement
@@ -496,20 +516,6 @@ dependencies:
496
516
  - - ">="
497
517
  - !ruby/object:Gem::Version
498
518
  version: 1.2.1
499
- - !ruby/object:Gem::Dependency
500
- name: salesforce_bulk_query
501
- requirement: !ruby/object:Gem::Requirement
502
- requirements:
503
- - - "~>"
504
- - !ruby/object:Gem::Version
505
- version: '0.2'
506
- type: :runtime
507
- prerelease: false
508
- version_requirements: !ruby/object:Gem::Requirement
509
- requirements:
510
- - - "~>"
511
- - !ruby/object:Gem::Version
512
- version: '0.2'
513
519
  - !ruby/object:Gem::Dependency
514
520
  name: terminal-table
515
521
  requirement: !ruby/object:Gem::Requirement
@@ -592,16 +598,18 @@ files:
592
598
  - ".flayignore"
593
599
  - ".gdc-ii-config-chart.yaml"
594
600
  - ".gdc-ii-config.yaml"
601
+ - ".github/workflows/build.yml"
602
+ - ".github/workflows/pre-merge.yml"
595
603
  - ".gitignore"
596
604
  - ".pronto.yml"
597
605
  - ".rspec"
598
606
  - ".rubocop.yml"
607
+ - ".sonar.settings"
599
608
  - ".travis.yml"
600
609
  - ".yardopts"
601
610
  - CHANGELOG.md
602
611
  - CLI.md
603
612
  - CONTRIBUTING.md
604
- - DEPENDENCIES.md
605
613
  - Dockerfile
606
614
  - Dockerfile.jruby
607
615
  - Dockerfile.ruby
@@ -631,6 +639,9 @@ files:
631
639
  - bin/users.sh
632
640
  - ci.rake
633
641
  - ci/bigquery/pom.xml
642
+ - ci/mssql/pom.xml
643
+ - ci/mysql/pom.xml
644
+ - ci/postgresql/pom.xml
634
645
  - ci/redshift/pom.xml
635
646
  - ci/snowflake/pom.xml
636
647
  - data/2008.crt
@@ -658,7 +669,6 @@ files:
658
669
  - lib/gooddata/bricks/middleware/aws_middleware.rb
659
670
  - lib/gooddata/bricks/middleware/base_middleware.rb
660
671
  - lib/gooddata/bricks/middleware/bench_middleware.rb
661
- - lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb
662
672
  - lib/gooddata/bricks/middleware/context_logger_decorator.rb
663
673
  - lib/gooddata/bricks/middleware/context_manager.rb
664
674
  - lib/gooddata/bricks/middleware/decode_params_middleware.rb
@@ -693,9 +703,16 @@ files:
693
703
  - lib/gooddata/client.rb
694
704
  - lib/gooddata/cloud_resources/bigquery/bigquery_client.rb
695
705
  - lib/gooddata/cloud_resources/bigquery/drivers/.gitkeepme
696
- - lib/gooddata/cloud_resources/cloud_resouce_factory.rb
706
+ - lib/gooddata/cloud_resources/blobstorage/blobstorage_client.rb
697
707
  - lib/gooddata/cloud_resources/cloud_resource_client.rb
708
+ - lib/gooddata/cloud_resources/cloud_resource_factory.rb
698
709
  - lib/gooddata/cloud_resources/cloud_resources.rb
710
+ - lib/gooddata/cloud_resources/mssql/drivers/.gitkeepme
711
+ - lib/gooddata/cloud_resources/mssql/mssql_client.rb
712
+ - lib/gooddata/cloud_resources/mysql/drivers/.gitkeepme
713
+ - lib/gooddata/cloud_resources/mysql/mysql_client.rb
714
+ - lib/gooddata/cloud_resources/postgresql/drivers/.gitkeepme
715
+ - lib/gooddata/cloud_resources/postgresql/postgresql_client.rb
699
716
  - lib/gooddata/cloud_resources/redshift/drivers/log4j.properties
700
717
  - lib/gooddata/cloud_resources/redshift/redshift_client.rb
701
718
  - lib/gooddata/cloud_resources/snowflake/drivers/.gitkeepme
@@ -757,7 +774,6 @@ files:
757
774
  - lib/gooddata/helpers/crypto_helper.rb
758
775
  - lib/gooddata/helpers/csv_helper.rb
759
776
  - lib/gooddata/helpers/data_helper.rb
760
- - lib/gooddata/helpers/data_source_helpers.rb
761
777
  - lib/gooddata/helpers/erb_helper.rb
762
778
  - lib/gooddata/helpers/global_helpers.rb
763
779
  - lib/gooddata/helpers/global_helpers_params.rb
@@ -796,6 +812,7 @@ files:
796
812
  - lib/gooddata/lcm/actions/synchronize_cas.rb
797
813
  - lib/gooddata/lcm/actions/synchronize_clients.rb
798
814
  - lib/gooddata/lcm/actions/synchronize_color_palette.rb
815
+ - lib/gooddata/lcm/actions/synchronize_dataset_mappings.rb
799
816
  - lib/gooddata/lcm/actions/synchronize_etls_in_segment.rb
800
817
  - lib/gooddata/lcm/actions/synchronize_label_types.rb
801
818
  - lib/gooddata/lcm/actions/synchronize_ldm.rb
@@ -807,9 +824,11 @@ files:
807
824
  - lib/gooddata/lcm/actions/synchronize_user_filters.rb
808
825
  - lib/gooddata/lcm/actions/synchronize_user_groups.rb
809
826
  - lib/gooddata/lcm/actions/synchronize_users.rb
827
+ - lib/gooddata/lcm/actions/update_metric_formats.rb
810
828
  - lib/gooddata/lcm/actions/update_release_table.rb
811
829
  - lib/gooddata/lcm/brick_logger.rb
812
830
  - lib/gooddata/lcm/data/create_lcm_release.sql.erb
831
+ - lib/gooddata/lcm/data/delete_from_lcm_release.sql.erb
813
832
  - lib/gooddata/lcm/data/insert_into_lcm_release.sql.erb
814
833
  - lib/gooddata/lcm/data/select_from_lcm_release.sql.erb
815
834
  - lib/gooddata/lcm/data/update_lcm_release.sql.erb
@@ -922,6 +941,8 @@ files:
922
941
  - lib/gooddata/models/client_synchronization_result.rb
923
942
  - lib/gooddata/models/client_synchronization_result_details.rb
924
943
  - lib/gooddata/models/data_product.rb
944
+ - lib/gooddata/models/data_source.rb
945
+ - lib/gooddata/models/dataset_mapping.rb
925
946
  - lib/gooddata/models/datawarehouse.rb
926
947
  - lib/gooddata/models/domain.rb
927
948
  - lib/gooddata/models/execution.rb
@@ -931,6 +952,8 @@ files:
931
952
  - lib/gooddata/models/links.rb
932
953
  - lib/gooddata/models/membership.rb
933
954
  - lib/gooddata/models/metadata.rb
955
+ - lib/gooddata/models/metadata/analytical_dashboard.rb
956
+ - lib/gooddata/models/metadata/analytical_visualization_object.rb
934
957
  - lib/gooddata/models/metadata/attribute.rb
935
958
  - lib/gooddata/models/metadata/dashboard.rb
936
959
  - lib/gooddata/models/metadata/dashboard/dashboard_item.rb
@@ -955,6 +978,7 @@ files:
955
978
  - lib/gooddata/models/metadata/scheduled_mail/dashboard_attachment.rb
956
979
  - lib/gooddata/models/metadata/scheduled_mail/report_attachment.rb
957
980
  - lib/gooddata/models/metadata/variable.rb
981
+ - lib/gooddata/models/metadata/visualization_object.rb
958
982
  - lib/gooddata/models/model.rb
959
983
  - lib/gooddata/models/models.rb
960
984
  - lib/gooddata/models/module_constants.rb
@@ -1001,7 +1025,7 @@ files:
1001
1025
  - yard-server.sh
1002
1026
  homepage: http://github.com/gooddata/gooddata-ruby
1003
1027
  licenses:
1004
- - BSD
1028
+ - BSD-3-Clause
1005
1029
  metadata: {}
1006
1030
  post_install_message:
1007
1031
  rdoc_options: []
@@ -1018,7 +1042,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1018
1042
  - !ruby/object:Gem::Version
1019
1043
  version: '0'
1020
1044
  requirements: []
1021
- rubygems_version: 3.0.8
1045
+ rubyforge_project:
1046
+ rubygems_version: 2.5.2.3
1022
1047
  signing_key:
1023
1048
  specification_version: 4
1024
1049
  summary: A convenient Ruby wrapper around the GoodData RESTful API