gooddata 0.6.18 → 0.6.19

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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.travis.yml +8 -19
  4. data/Guardfile +5 -0
  5. data/README.md +1 -3
  6. data/bin/gooddata +1 -1
  7. data/gooddata.gemspec +6 -4
  8. data/lib/gooddata.rb +1 -1
  9. data/lib/gooddata/bricks/middleware/aws_middleware.rb +24 -0
  10. data/lib/gooddata/cli/commands/console_cmd.rb +1 -1
  11. data/lib/gooddata/cli/commands/project_cmd.rb +29 -9
  12. data/lib/gooddata/cli/hooks.rb +9 -3
  13. data/lib/gooddata/commands/datawarehouse.rb +1 -7
  14. data/lib/gooddata/commands/project.rb +4 -3
  15. data/lib/gooddata/core/logging.rb +14 -2
  16. data/lib/gooddata/exceptions/execution_limit_exceeded.rb +9 -0
  17. data/lib/gooddata/exceptions/uncomputable_report.rb +8 -0
  18. data/lib/gooddata/exceptions/validation_error.rb +1 -1
  19. data/lib/gooddata/goodzilla/goodzilla.rb +5 -1
  20. data/lib/gooddata/helpers/data_helper.rb +40 -9
  21. data/lib/gooddata/mixins/md_finders.rb +35 -0
  22. data/lib/gooddata/models/blueprint/anchor_field.rb +46 -0
  23. data/lib/gooddata/models/blueprint/attribute_field.rb +25 -0
  24. data/lib/gooddata/models/blueprint/blueprint.rb +7 -0
  25. data/lib/gooddata/models/blueprint/blueprint_field.rb +66 -0
  26. data/lib/gooddata/models/{dashboard_builder.rb → blueprint/dashboard_builder.rb} +0 -0
  27. data/lib/gooddata/models/{schema_blueprint.rb → blueprint/dataset_blueprint.rb} +176 -117
  28. data/lib/gooddata/models/blueprint/date_dimension.rb +10 -0
  29. data/lib/gooddata/models/blueprint/fact_field.rb +16 -0
  30. data/lib/gooddata/models/blueprint/label_field.rb +39 -0
  31. data/lib/gooddata/models/{project_blueprint.rb → blueprint/project_blueprint.rb} +366 -168
  32. data/lib/gooddata/models/blueprint/project_builder.rb +79 -0
  33. data/lib/gooddata/models/blueprint/reference_field.rb +39 -0
  34. data/lib/gooddata/models/blueprint/schema_blueprint.rb +156 -0
  35. data/lib/gooddata/models/blueprint/schema_builder.rb +85 -0
  36. data/lib/gooddata/models/{to_manifest.rb → blueprint/to_manifest.rb} +25 -20
  37. data/lib/gooddata/models/{to_wire.rb → blueprint/to_wire.rb} +33 -52
  38. data/lib/gooddata/models/datawarehouse.rb +2 -2
  39. data/lib/gooddata/models/domain.rb +3 -2
  40. data/lib/gooddata/models/execution.rb +2 -2
  41. data/lib/gooddata/models/execution_detail.rb +7 -2
  42. data/lib/gooddata/models/from_wire.rb +60 -71
  43. data/lib/gooddata/models/from_wire_parse.rb +125 -125
  44. data/lib/gooddata/models/metadata.rb +14 -0
  45. data/lib/gooddata/models/metadata/dashboard.rb +2 -2
  46. data/lib/gooddata/models/metadata/label.rb +1 -1
  47. data/lib/gooddata/models/metadata/report.rb +6 -5
  48. data/lib/gooddata/models/metadata/report_definition.rb +44 -59
  49. data/lib/gooddata/models/model.rb +131 -43
  50. data/lib/gooddata/models/process.rb +13 -11
  51. data/lib/gooddata/models/profile.rb +12 -1
  52. data/lib/gooddata/models/project.rb +223 -19
  53. data/lib/gooddata/models/project_creator.rb +4 -15
  54. data/lib/gooddata/models/schedule.rb +1 -0
  55. data/lib/gooddata/models/user_filters/user_filter_builder.rb +2 -2
  56. data/lib/gooddata/rest/client.rb +18 -18
  57. data/lib/gooddata/rest/connection.rb +113 -94
  58. data/lib/gooddata/version.rb +1 -1
  59. data/lib/templates/project/model/model.rb.erb +15 -16
  60. data/spec/data/blueprints/additional_dataset_module.json +32 -0
  61. data/spec/data/blueprints/big_blueprint_not_pruned.json +2079 -0
  62. data/spec/data/blueprints/invalid_blueprint.json +103 -0
  63. data/spec/data/blueprints/m_n_model.json +104 -0
  64. data/spec/data/blueprints/model_module.json +25 -0
  65. data/spec/data/blueprints/test_blueprint.json +38 -0
  66. data/spec/data/blueprints/test_project_model_spec.json +106 -0
  67. data/spec/data/gd_gse_data_manifest.json +34 -34
  68. data/spec/data/manifests/test_blueprint.json +32 -0
  69. data/spec/data/{manifest_test_project.json → manifests/test_project.json} +9 -18
  70. data/spec/data/wire_models/test_blueprint.json +63 -0
  71. data/spec/data/wire_test_project.json +5 -5
  72. data/spec/environment/default.rb +33 -0
  73. data/spec/environment/develop.rb +26 -0
  74. data/spec/environment/environment.rb +14 -0
  75. data/spec/environment/hotfix.rb +17 -0
  76. data/spec/environment/production.rb +31 -0
  77. data/spec/environment/release.rb +17 -0
  78. data/spec/helpers/blueprint_helper.rb +10 -7
  79. data/spec/helpers/cli_helper.rb +24 -22
  80. data/spec/helpers/connection_helper.rb +27 -25
  81. data/spec/helpers/crypto_helper.rb +7 -5
  82. data/spec/helpers/csv_helper.rb +5 -3
  83. data/spec/helpers/process_helper.rb +15 -10
  84. data/spec/helpers/project_helper.rb +40 -33
  85. data/spec/helpers/schedule_helper.rb +15 -9
  86. data/spec/helpers/spec_helper.rb +11 -0
  87. data/spec/integration/blueprint_updates_spec.rb +93 -0
  88. data/spec/integration/command_datawarehouse_spec.rb +2 -1
  89. data/spec/integration/command_projects_spec.rb +9 -8
  90. data/spec/integration/create_from_template_spec.rb +1 -1
  91. data/spec/integration/create_project_spec.rb +1 -1
  92. data/spec/integration/full_process_schedule_spec.rb +1 -1
  93. data/spec/integration/full_project_spec.rb +91 -30
  94. data/spec/integration/over_to_user_filters_spec.rb +24 -28
  95. data/spec/integration/partial_md_export_import_spec.rb +4 -4
  96. data/spec/integration/project_spec.rb +1 -1
  97. data/spec/integration/rest_spec.rb +1 -1
  98. data/spec/integration/user_filters_spec.rb +19 -24
  99. data/spec/integration/variables_spec.rb +7 -9
  100. data/spec/logging_in_logging_out_spec.rb +1 -1
  101. data/spec/spec_helper.rb +10 -1
  102. data/spec/unit/bricks/middleware/aws_middelware_spec.rb +47 -0
  103. data/spec/unit/core/connection_spec.rb +2 -2
  104. data/spec/unit/core/logging_spec.rb +12 -4
  105. data/spec/unit/helpers/data_helper_spec.rb +60 -0
  106. data/spec/unit/models/blueprint/attributes_spec.rb +24 -0
  107. data/spec/unit/models/blueprint/dataset_spec.rb +116 -0
  108. data/spec/unit/models/blueprint/labels_spec.rb +39 -0
  109. data/spec/unit/models/blueprint/project_blueprint_spec.rb +643 -0
  110. data/spec/unit/models/blueprint/reference_spec.rb +24 -0
  111. data/spec/unit/models/{schema_builder_spec.rb → blueprint/schema_builder_spec.rb} +12 -4
  112. data/spec/unit/models/blueprint/to_wire_spec.rb +169 -0
  113. data/spec/unit/models/domain_spec.rb +13 -2
  114. data/spec/unit/models/from_wire_spec.rb +277 -98
  115. data/spec/unit/models/metadata_spec.rb +22 -4
  116. data/spec/unit/models/model_spec.rb +49 -39
  117. data/spec/unit/models/profile_spec.rb +1 -0
  118. data/spec/unit/models/project_spec.rb +7 -7
  119. data/spec/unit/models/schedule_spec.rb +20 -0
  120. data/spec/unit/models/to_manifest_spec.rb +31 -11
  121. data/spec/unit/rest/polling_spec.rb +86 -0
  122. metadata +102 -30
  123. data/lib/gooddata/models/project_builder.rb +0 -136
  124. data/lib/gooddata/models/schema_builder.rb +0 -77
  125. data/out.txt +0 -0
  126. data/spec/data/additional_dataset_module.json +0 -18
  127. data/spec/data/blueprint_invalid.json +0 -38
  128. data/spec/data/m_n_model/blueprint.json +0 -76
  129. data/spec/data/model_module.json +0 -18
  130. data/spec/data/test_project_model_spec.json +0 -76
  131. data/spec/unit/models/attribute_column_spec.rb +0 -7
  132. data/spec/unit/models/project_blueprint_spec.rb +0 -239
  133. data/spec/unit/models/to_wire_spec.rb +0 -71
@@ -0,0 +1,32 @@
1
+ [
2
+ {
3
+ "dataSetSLIManifest": {
4
+ "parts": [
5
+ {
6
+ "referenceKey": 1,
7
+ "populates": [
8
+ "label.devs.id.id"
9
+ ],
10
+ "mode": "FULL",
11
+ "columnName": "devs_id"
12
+ },
13
+ {
14
+ "referenceKey": 1,
15
+ "populates": [
16
+ "label.opp_snapshot.accountstagesnapshot"
17
+ ],
18
+ "mode": "FULL",
19
+ "columnName": "account"
20
+ }
21
+ ],
22
+ "dataSet": "dataset.devs",
23
+ "file": "data.csv",
24
+ "csvParams": {
25
+ "quoteChar": "\"",
26
+ "escapeChar": "\"",
27
+ "separatorChar": ",",
28
+ "endOfLine": "\n"
29
+ }
30
+ }
31
+ }
32
+ ]
@@ -5,25 +5,18 @@
5
5
  {
6
6
  "referenceKey": 1,
7
7
  "populates": [
8
- "label.repos.repo_id"
8
+ "some_label_id"
9
9
  ],
10
10
  "mode": "FULL",
11
- "columnName": "repo_id"
12
- },
13
- {
14
- "populates": [
15
- "label.repos.repo_id.name"
16
- ],
17
- "mode": "FULL",
18
- "columnName": "name"
11
+ "columnName": "dev_id"
19
12
  },
20
13
  {
21
14
  "referenceKey": 1,
22
15
  "populates": [
23
- "label.repos.department"
16
+ "some_attr_label_id"
24
17
  ],
25
18
  "mode": "FULL",
26
- "columnName": "department"
19
+ "columnName": "email"
27
20
  }
28
21
  ],
29
22
  "dataSet": "dataset.repos",
@@ -42,15 +35,13 @@
42
35
  {
43
36
  "referenceKey": 1,
44
37
  "populates": [
45
- "label.devs.dev_id"
38
+ "label.devs.dev_id.id"
46
39
  ],
47
40
  "mode": "FULL",
48
41
  "columnName": "dev_id"
49
42
  },
50
43
  {
51
- "populates": [
52
- "label.devs.dev_id.email"
53
- ],
44
+ "populates": ["label.devs.dev_id.email"],
54
45
  "mode": "FULL",
55
46
  "columnName": "email"
56
47
  }
@@ -81,14 +72,14 @@
81
72
  ],
82
73
  "mode": "FULL",
83
74
  "constraints": {
84
- "date": "dd/MM/yyyy"
75
+ "date": "MM/dd/yyyy"
85
76
  },
86
77
  "columnName": "committed_on",
87
78
  "referenceKey": 1
88
79
  },
89
80
  {
90
81
  "populates": [
91
- "label.devs.dev_id"
82
+ "label.devs.dev_id.id"
92
83
  ],
93
84
  "mode": "FULL",
94
85
  "columnName": "dev_id",
@@ -96,7 +87,7 @@
96
87
  },
97
88
  {
98
89
  "populates": [
99
- "label.repos.repo_id"
90
+ "some_label_id"
100
91
  ],
101
92
  "mode": "FULL",
102
93
  "columnName": "repo_id",
@@ -0,0 +1,63 @@
1
+ {
2
+ "diffRequest": {
3
+ "targetModel": {
4
+ "projectModel": {
5
+ "datasets": [
6
+ {
7
+ "dataset": {
8
+ "identifier": "dataset.devs",
9
+ "title": "Developers",
10
+ "anchor": {
11
+ "attribute": {
12
+ "identifier": "attr.devs.id",
13
+ "title": "Current Stage",
14
+ "folder": "Developers",
15
+ "labels": [
16
+ {
17
+ "label": {
18
+ "identifier": "label.devs.id.id",
19
+ "title": "Devs Id",
20
+ "type": "GDC.text",
21
+ "dataType": "VARCHAR(128)"
22
+ }
23
+ }
24
+ ],
25
+ "defaultLabel": "label.devs.id.id"
26
+ }
27
+ },
28
+ "attributes": [
29
+ {
30
+ "attribute": {
31
+ "identifier": "attr.devs.name",
32
+ "title": "Name",
33
+ "folder": "Developers",
34
+ "labels": [
35
+ {
36
+ "label": {
37
+ "identifier": "label.opp_snapshot.accountstagesnapshot",
38
+ "title": "Account Stage (Snapshot)",
39
+ "type": "GDC.text",
40
+ "dataType": "VARCHAR(128)"
41
+ }
42
+ }
43
+ ],
44
+ "defaultLabel": "label.opp_snapshot.accountstagesnapshot"
45
+ }
46
+ }
47
+ ],
48
+ "facts": [
49
+
50
+ ],
51
+ "references": [
52
+
53
+ ]
54
+ }
55
+ }
56
+ ],
57
+ "dateDimensions": [
58
+
59
+ ]
60
+ }
61
+ }
62
+ }
63
+ }
@@ -11,7 +11,6 @@
11
11
  "attribute": {
12
12
  "identifier": "attr.repos.repo_id",
13
13
  "title": "Repo",
14
- "description": "This is anchor description",
15
14
  "folder": "Foldered Repos",
16
15
  "labels": [
17
16
  {
@@ -31,7 +30,8 @@
31
30
  }
32
31
  }
33
32
  ],
34
- "defaultLabel": "label.repos.repo_id"
33
+ "defaultLabel": "label.repos.repo_id",
34
+ "description": "This is anchor description"
35
35
  }
36
36
  },
37
37
  "attributes": [
@@ -46,7 +46,7 @@
46
46
  "identifier": "label.repos.department",
47
47
  "title": "Department",
48
48
  "type": null,
49
- "dataType": null
49
+ "dataType": "VARCHAR(128)"
50
50
  }
51
51
  }
52
52
  ],
@@ -122,9 +122,9 @@
122
122
  "fact": {
123
123
  "identifier": "fact.commits.lines_changed",
124
124
  "title": "Lines Changed",
125
- "description": "Fact description",
126
125
  "folder": "Commits",
127
- "dataType": "INT"
126
+ "dataType": "INT",
127
+ "description": "Fact description"
128
128
  }
129
129
  }
130
130
  ],
@@ -0,0 +1,33 @@
1
+ # encoding: UTF-8
2
+
3
+ module GoodData
4
+ module Environment
5
+ module ConnectionHelper
6
+ GD_PROJECT_TOKEN = ENV["GD_PROJECT_TOKEN"]
7
+
8
+
9
+ DEFAULT_USERNAME = "tomas.korcak+gem_tester@gooddata.com"
10
+ TEST_USERNAME = "john.doe@gooddata.com"
11
+ DEFAULT_PASSWORD = "jindrisska"
12
+ DEFAULT_DOMAIN = 'gooddata-tomas-korcak-gem-tester'
13
+ DEFAULT_USER_URL = '/gdc/account/profile/3cea1102d5584813506352a2a2a00d95'
14
+ DEFAULT_SERVER = 'https://secure.gooddata.com'
15
+ end
16
+
17
+ module ProcessHelper
18
+ PROCESS_ID = '81fa71a4-69fd-4c58-aa09-66e7f53f4647'
19
+ DEPLOY_NAME = 'graph.grf'
20
+ end
21
+
22
+ module ProjectHelper
23
+ PROJECT_ID = 'we1vvh4il93r0927r809i3agif50d7iz'
24
+ PROJECT_URL = "/gdc/projects/#{PROJECT_ID}"
25
+ PROJECT_TITLE = 'GoodTravis'
26
+ PROJECT_SUMMARY = 'No summary'
27
+ end
28
+
29
+ module ScheduleHelper
30
+ SCHEDULE_ID = '54b90771e4b067429a27a549'
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,26 @@
1
+ # encoding: UTF-8
2
+
3
+ module GoodData
4
+ module Environment
5
+ module ConnectionHelper
6
+ DEFAULT_SERVER = 'https://staging.getgooddata.com'
7
+ DEFAULT_USER_URL = '/gdc/account/profile/6ca71a392e15700a4db4537f441eba39'
8
+ end
9
+
10
+ module ProcessHelper
11
+ PROCESS_ID = '2e2cbe45-02fd-4a1a-b735-a37d65ff267d'
12
+ DEPLOY_NAME = 'graph.grf'
13
+ end
14
+
15
+ module ProjectHelper
16
+ PROJECT_ID = 'i66l5qezxd96syjo9hgbie8earysh6b7'
17
+ PROJECT_URL = "/gdc/projects/#{PROJECT_ID}"
18
+ PROJECT_TITLE = 'GoodTravis'
19
+ PROJECT_SUMMARY = 'No summary'
20
+ end
21
+
22
+ module ScheduleHelper
23
+ SCHEDULE_ID = '556c580ee4b05b1a534f3997'
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,14 @@
1
+ # encoding: UTF-8
2
+
3
+ module GoodData
4
+ module Environment
5
+ class << self
6
+ def load(env = ENV['GD_ENV'] || 'develop')
7
+ require_relative 'default'
8
+ require_relative env
9
+
10
+ ENV['GD_SERVER'] = GoodData::Environment::ConnectionHelper::DEFAULT_SERVER
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ # encoding: UTF-8
2
+
3
+ module GoodData
4
+ module Environment
5
+ module ConnectionHelper
6
+ DEFAULT_SERVER = 'https://staging2.getgooddata.com'
7
+ DEFAULT_USER_URL = '/gdc/account/profile/d8b356b30c0c12d1b4b97f56d6706ef2'
8
+ end
9
+
10
+ module ProjectHelper
11
+ PROJECT_ID = 'vc8mctilky1xu6uqclafvan8b0x1mv3k'
12
+ PROJECT_URL = "/gdc/projects/#{PROJECT_ID}"
13
+ PROJECT_TITLE = 'GoodTravis'
14
+ PROJECT_SUMMARY = 'No summary'
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,31 @@
1
+ # encoding: UTF-8
2
+
3
+ module GoodData
4
+ module Environment
5
+ module ConnectionHelper
6
+ DEFAULT_SERVER = 'https://secure.gooddata.com'
7
+ DEFAULT_USERNAME = "svarovsky+gem_tester@gooddata.com"
8
+ TEST_USERNAME = "john.doe@gooddata.com"
9
+ DEFAULT_PASSWORD = "jindrisska"
10
+ DEFAULT_DOMAIN = 'gooddata-tomas-svarovsky'
11
+ DEFAULT_USER_URL = '/gdc/account/profile/3cea1102d5584813506352a2a2a00d95'
12
+ DEFAULT_SERVER = 'https://secure.gooddata.com'
13
+ end
14
+
15
+ module ProcessHelper
16
+ PROCESS_ID = '35ddce15-02b5-4dc5-b161-9fb25b73bd8b'
17
+ DEPLOY_NAME = 'graph.grf'
18
+ end
19
+
20
+ module ProjectHelper
21
+ PROJECT_ID = 'cql548kue571k50guqvaccd10817zyup'
22
+ PROJECT_URL = "/gdc/projects/#{PROJECT_ID}"
23
+ PROJECT_TITLE = 'GoodTravis'
24
+ PROJECT_SUMMARY = 'No summary'
25
+ end
26
+
27
+ module ScheduleHelper
28
+ SCHEDULE_ID = '557ac000e4b041600876e967'
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ # encoding: UTF-8
2
+
3
+ module GoodData
4
+ module Environment
5
+ module ConnectionHelper
6
+ DEFAULT_SERVER = 'https://staging2.getgooddata.com'
7
+ DEFAULT_USER_URL = '/gdc/account/profile/d8b356b30c0c12d1b4b97f56d6706ef2'
8
+ end
9
+
10
+ module ProjectHelper
11
+ PROJECT_ID = 'vc8mctilky1xu6uqclafvan8b0x1mv3k'
12
+ PROJECT_URL = "/gdc/projects/#{PROJECT_ID}"
13
+ PROJECT_TITLE = 'GoodTravis'
14
+ PROJECT_SUMMARY = 'No summary'
15
+ end
16
+ end
17
+ end
@@ -6,14 +6,17 @@ require 'multi_json'
6
6
  # Local requires
7
7
  require 'gooddata/models/models'
8
8
 
9
- module BlueprintHelper
10
- def blueprint_from_file(bp)
11
- # Try to load as full path
12
- raw = IO.read(bp)
9
+ module GoodData::Helpers
10
+ module BlueprintHelper
11
+ def blueprint_from_file(bp)
12
+ # Try to load as full path
13
+ raw = IO.read(bp)
13
14
 
14
- # TODO: Try to load as relative path if failed
15
+ # TODO: Try to load as relative path if failed
15
16
 
16
- parsed = MultiJson.load(raw, :symbolize_keys => true)
17
- return GoodData::Model::ProjectBlueprint.new(parsed)
17
+ parsed = MultiJson.load(raw, :symbolize_keys => true)
18
+ return GoodData::Model::ProjectBlueprint.new(parsed)
19
+ end
18
20
  end
19
21
  end
22
+
@@ -2,29 +2,31 @@
2
2
 
3
3
  require 'gooddata/cli/cli'
4
4
 
5
- module CliHelper
6
- # Execute block and capture its stdou
7
- # @param block Block to be executed with stdout redirected
8
- # @returns Captured output as string
9
- def capture_stdout(&block)
10
- original_stdout = $stdout
11
- $stdout = fake = StringIO.new
12
- begin
13
- yield
14
- ensure
15
- $stdout = original_stdout
5
+ module GoodData::Helpers
6
+ module CliHelper
7
+ # Execute block and capture its stdou
8
+ # @param block Block to be executed with stdout redirected
9
+ # @returns Captured output as string
10
+ def capture_stdout(&block)
11
+ original_stdout = $stdout
12
+ $stdout = fake = StringIO.new
13
+ begin
14
+ yield
15
+ ensure
16
+ $stdout = original_stdout
17
+ end
18
+ fake.string
16
19
  end
17
- fake.string
18
- end
19
20
 
20
- # Run CLI with arguments and return captured stdout
21
- # @param args Arguments
22
- # @return Captured stdout
23
- def run_cli(args = [])
24
- old = $0
25
- $0 = 'gooddata'
26
- res = capture_stdout { GoodData::CLI.main(args) }
27
- $0 = old
28
- res
21
+ # Run CLI with arguments and return captured stdout
22
+ # @param args Arguments
23
+ # @return Captured stdout
24
+ def run_cli(args = [])
25
+ old = $0
26
+ $0 = 'gooddata'
27
+ res = capture_stdout { GoodData::CLI.main(args) }
28
+ $0 = old
29
+ res
30
+ end
29
31
  end
30
32
  end
@@ -1,32 +1,34 @@
1
1
  require 'gooddata/connection'
2
2
 
3
- module ConnectionHelper
4
- GD_PROJECT_TOKEN = ENV["GD_PROJECT_TOKEN"]
5
-
6
- DEFAULT_USERNAME = "svarovsky+gem_tester@gooddata.com"
7
- DEFAULT_PASSWORD = "jindrisska"
8
- DEFAULT_DOMAIN = 'gooddata-tomas-svarovsky'
9
- DEFAULT_USER_URL = '/gdc/account/profile/3cea1102d5584813506352a2a2a00d95'
10
-
11
- # Creates connection using default credentials or supplied one
12
- #
13
- # @param [String] username Optional username
14
- # @param [String] password Optional password
15
- def self.create_default_connection(username = DEFAULT_USERNAME, password = DEFAULT_PASSWORD)
16
- GoodData::connect(username, password)
17
- end
3
+ require_relative '../environment/environment'
18
4
 
19
- def self.disconnect
20
- conn = GoodData.connection.connection
21
- GoodData.disconnect
22
- puts conn.stats_table
23
- end
5
+ GoodData::Environment.load
6
+
7
+ module GoodData::Helpers
8
+ module ConnectionHelper
9
+ include GoodData::Environment::ConnectionHelper
24
10
 
25
- # Creates connection using environment varibles GD_GEM_USER and GD_GEM_PASSWORD
26
- def self.create_private_connection
27
- username = ENV['GD_GEM_USER'] || DEFAULT_USERNAME
28
- password = ENV['GD_GEM_PASSWORD'] || DEFAULT_PASSWORD
11
+ # Creates connection using default credentials or supplied one
12
+ #
13
+ # @param [String] username Optional username
14
+ # @param [String] password Optional password
15
+ def self.create_default_connection(username = DEFAULT_USERNAME, password = DEFAULT_PASSWORD)
16
+ GoodData::connect(username, password, :server => GoodData::Environment::ConnectionHelper::DEFAULT_SERVER, :verify_ssl => OpenSSL::SSL::VERIFY_NONE)
17
+ end
29
18
 
30
- GoodData::connect(username, password)
19
+ def self.disconnect
20
+ conn = GoodData.connection.connection
21
+ GoodData.disconnect
22
+ puts conn.stats_table
23
+ end
24
+
25
+ # Creates connection using environment varibles GD_GEM_USER and GD_GEM_PASSWORD
26
+ def self.create_private_connection
27
+ username = ENV['GD_GEM_USER'] || DEFAULT_USERNAME
28
+ password = ENV['GD_GEM_PASSWORD'] || DEFAULT_PASSWORD
29
+
30
+ GoodData::connect(username, password)
31
+ end
31
32
  end
33
+
32
34
  end