gooddata 0.6.18 → 0.6.19

Sign up to get free protection for your applications and to get access to all the features.
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