gooddata 0.6.7 → 0.6.8

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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -1
  3. data/README.md +10 -2
  4. data/TODO.md +32 -0
  5. data/gooddata.gemspec +5 -0
  6. data/lib/gooddata.rb +4 -0
  7. data/lib/gooddata/app/app.rb +12 -0
  8. data/lib/gooddata/bricks/middleware/gooddata_middleware.rb +4 -3
  9. data/lib/gooddata/bricks/middleware/restforce_middleware.rb +2 -1
  10. data/lib/gooddata/cli/commands/console_cmd.rb +23 -5
  11. data/lib/gooddata/cli/commands/domain_cmd.rb +9 -10
  12. data/lib/gooddata/cli/commands/process_cmd.rb +11 -9
  13. data/lib/gooddata/cli/commands/project_cmd.rb +25 -27
  14. data/lib/gooddata/cli/commands/projects_cmd.rb +2 -2
  15. data/lib/gooddata/cli/commands/run_ruby_cmd.rb +1 -1
  16. data/lib/gooddata/cli/commands/user_cmd.rb +2 -2
  17. data/lib/gooddata/cli/hooks.rb +4 -2
  18. data/lib/gooddata/cli/shared.rb +1 -1
  19. data/lib/gooddata/cli/terminal.rb +1 -1
  20. data/lib/gooddata/commands/api.rb +1 -1
  21. data/lib/gooddata/commands/auth.rb +4 -28
  22. data/lib/gooddata/commands/domain.rb +9 -4
  23. data/lib/gooddata/commands/process.rb +26 -23
  24. data/lib/gooddata/commands/project.rb +74 -50
  25. data/lib/gooddata/commands/projects.rb +3 -2
  26. data/lib/gooddata/commands/role.rb +9 -3
  27. data/lib/gooddata/commands/user.rb +6 -4
  28. data/lib/gooddata/connection.rb +11 -45
  29. data/lib/gooddata/core/logging.rb +0 -1
  30. data/lib/gooddata/core/project.rb +22 -22
  31. data/lib/gooddata/core/rest.rb +9 -8
  32. data/lib/gooddata/core/user.rb +0 -11
  33. data/lib/gooddata/exceptions/project_not_found.rb +1 -0
  34. data/lib/gooddata/extensions/enumerable.rb +10 -0
  35. data/lib/gooddata/extensions/hash.rb +25 -0
  36. data/lib/gooddata/goodzilla/goodzilla.rb +4 -4
  37. data/lib/gooddata/helper/class_helper.rb +1 -0
  38. data/lib/gooddata/helper/helpers.rb +8 -0
  39. data/lib/gooddata/helpers/auth_helpers.rb +41 -0
  40. data/lib/gooddata/mixins/author.rb +1 -1
  41. data/lib/gooddata/mixins/contributor.rb +1 -1
  42. data/lib/gooddata/mixins/data_property_reader.rb +2 -0
  43. data/lib/gooddata/mixins/data_property_writer.rb +2 -0
  44. data/lib/gooddata/mixins/inspector.rb +49 -0
  45. data/lib/gooddata/mixins/md_finders.rb +16 -8
  46. data/lib/gooddata/mixins/md_id_to_uri.rb +12 -4
  47. data/lib/gooddata/mixins/md_object_indexer.rb +15 -4
  48. data/lib/gooddata/mixins/md_object_query.rb +42 -20
  49. data/lib/gooddata/mixins/md_relations.rb +21 -12
  50. data/lib/gooddata/mixins/meta_getter.rb +2 -0
  51. data/lib/gooddata/mixins/meta_property_reader.rb +2 -0
  52. data/lib/gooddata/mixins/meta_property_writer.rb +2 -0
  53. data/lib/gooddata/mixins/rest_resource.rb +32 -10
  54. data/lib/gooddata/mixins/root_key_getter.rb +1 -1
  55. data/lib/gooddata/models/data_result.rb +3 -1
  56. data/lib/gooddata/models/domain.rb +31 -22
  57. data/lib/gooddata/models/empty_result.rb +22 -0
  58. data/lib/gooddata/models/invitation.rb +11 -9
  59. data/lib/gooddata/models/links.rb +5 -3
  60. data/lib/gooddata/models/membership.rb +23 -28
  61. data/lib/gooddata/models/metadata.rb +35 -35
  62. data/lib/gooddata/models/metadata/attribute.rb +10 -8
  63. data/lib/gooddata/models/metadata/dashboard.rb +1 -1
  64. data/lib/gooddata/models/metadata/fact.rb +3 -3
  65. data/lib/gooddata/models/metadata/label.rb +4 -4
  66. data/lib/gooddata/models/metadata/metric.rb +76 -38
  67. data/lib/gooddata/models/metadata/report.rb +52 -17
  68. data/lib/gooddata/models/metadata/report_definition.rb +178 -28
  69. data/lib/gooddata/models/model.rb +13 -6
  70. data/lib/gooddata/models/process.rb +93 -30
  71. data/lib/gooddata/models/profile.rb +18 -20
  72. data/lib/gooddata/models/project.rb +344 -127
  73. data/lib/gooddata/models/project_creator.rb +32 -22
  74. data/lib/gooddata/models/project_metadata.rb +26 -14
  75. data/lib/gooddata/models/project_role.rb +15 -17
  76. data/lib/gooddata/models/report_data_result.rb +4 -0
  77. data/lib/gooddata/models/schedule.rb +51 -20
  78. data/lib/gooddata/models/schema_blueprint.rb +9 -3
  79. data/lib/gooddata/rest/README.md +37 -0
  80. data/lib/gooddata/rest/client.rb +318 -0
  81. data/lib/gooddata/rest/connection.rb +235 -0
  82. data/lib/gooddata/rest/connections/connections.rb +8 -0
  83. data/lib/gooddata/rest/connections/dummy_connection.rb +52 -0
  84. data/lib/gooddata/rest/connections/rest_client_connection.rb +177 -0
  85. data/lib/gooddata/rest/object.rb +32 -0
  86. data/lib/gooddata/rest/object_factory.rb +67 -0
  87. data/lib/gooddata/rest/resource.rb +17 -0
  88. data/lib/gooddata/rest/rest.rb +20 -0
  89. data/lib/gooddata/version.rb +1 -1
  90. data/spec/data/cc/data/source/commits.csv +4 -0
  91. data/spec/data/cc/data/source/devs.csv +4 -0
  92. data/spec/data/cc/data/source/repos.csv +3 -0
  93. data/spec/data/cc/devel.prm +0 -0
  94. data/spec/data/cc/graph/graph.grf +11 -0
  95. data/spec/data/cc/workspace.prm +19 -0
  96. data/spec/data/hello_world_process/hello_world.rb +1 -0
  97. data/spec/data/hello_world_process/hello_world.zip +0 -0
  98. data/spec/data/users.csv +12 -12
  99. data/spec/helpers/connection_helper.rb +6 -0
  100. data/spec/helpers/process_helper.rb +12 -0
  101. data/spec/helpers/project_helper.rb +2 -2
  102. data/spec/integration/command_projects_spec.rb +11 -9
  103. data/spec/integration/create_from_template_spec.rb +6 -2
  104. data/spec/integration/full_process_schedule_spec.rb +49 -36
  105. data/spec/integration/full_project_spec.rb +221 -256
  106. data/spec/integration/partial_md_export_import_spec.rb +18 -17
  107. data/spec/logging_in_logging_out_spec.rb +17 -8
  108. data/spec/spec_helper.rb +4 -2
  109. data/spec/unit/cli/commands/cmd_api_spec.rb +1 -1
  110. data/spec/unit/cli/commands/cmd_auth_spec.rb +1 -1
  111. data/spec/unit/cli/commands/cmd_domain_spec.rb +29 -3
  112. data/spec/unit/cli/commands/cmd_process_spec.rb +1 -1
  113. data/spec/unit/cli/commands/cmd_project_spec.rb +1 -1
  114. data/spec/unit/cli/commands/cmd_role_spec.rb +13 -2
  115. data/spec/unit/cli/commands/cmd_run_ruby_spec.rb +1 -1
  116. data/spec/unit/cli/commands/cmd_scaffold_spec.rb +1 -1
  117. data/spec/unit/cli/commands/cmd_user_spec.rb +1 -1
  118. data/spec/unit/commands/command_api_spec.rb +0 -19
  119. data/spec/unit/commands/command_auth_spec.rb +20 -13
  120. data/spec/unit/commands/command_dataset_spec.rb +2 -2
  121. data/spec/unit/commands/command_process_spec.rb +24 -21
  122. data/spec/unit/commands/command_projects_spec.rb +2 -2
  123. data/spec/unit/commands/command_scaffold_spec.rb +2 -2
  124. data/spec/unit/commands/command_user_spec.rb +3 -3
  125. data/spec/unit/core/connection_spec.rb +9 -10
  126. data/spec/unit/core/project_spec.rb +8 -4
  127. data/spec/unit/core/rest_spec.rb +6 -6
  128. data/spec/unit/models/domain_spec.rb +14 -7
  129. data/spec/unit/models/invitation_spec.rb +2 -2
  130. data/spec/unit/models/membership_spec.rb +5 -5
  131. data/spec/unit/models/metric_spec.rb +92 -0
  132. data/spec/unit/models/profile_spec.rb +25 -21
  133. data/spec/unit/models/project_blueprint_spec.rb +6 -6
  134. data/spec/unit/models/project_role_spec.rb +3 -5
  135. data/spec/unit/models/project_spec.rb +43 -37
  136. data/spec/unit/models/schedule_spec.rb +58 -107
  137. data/spec/unit/rest/resource_spec.rb +6 -0
  138. metadata +87 -10
  139. data/lib/gooddata/cli/commands/role_cmd.rb +0 -28
  140. data/lib/gooddata/core/connection.rb +0 -392
  141. data/lib/gooddata/core/threaded.rb +0 -14
  142. data/lib/gooddata/models/md_object.rb +0 -25
  143. data/lib/gooddata/models/metadata/folder.rb +0 -24
  144. data/spec/unit/models/md_object_spec.rb +0 -55
  145. data/spec/unit/models/metric.rb +0 -92
@@ -1,42 +1,41 @@
1
1
  require 'gooddata/models/schedule'
2
2
 
3
3
  describe GoodData::Schedule do
4
+ SCHEDULE_ID = '53e029bde4b035034ad4abb6'
5
+ SCHEDULE_URL = "/gdc/projects/#{ProjectHelper::PROJECT_ID}/schedules/#{SCHEDULE_ID}"
4
6
 
5
- TEST_CRON = '0 15 27 7 *'
6
-
7
- TEST_DATA = {
8
- :timezone => 'UTC',
9
- :cron => '2 2 2 2 *'
10
- }
11
-
12
- TEST_DATA_WITH_OPTIONAL_PARAM = {
13
- :timezone => 'UTC',
14
- :cron => '2 2 2 2 *',
15
- :reschedule => 15
16
- }
17
-
18
-
19
- TEST_PROCESS_ID = 'dc143d80-58a1-4acd-96b6-8d11fc4571de'
20
-
21
- SCHEDULE_ID = '53e03c25e4b0c7f987a2f6fd'
22
- SCHEDULE_URL = '/gdc/projects/we1vvh4il93r0927r809i3agif50d7iz/schedules/53e03c25e4b0c7f987a2f6fd'
7
+ @test_cron = '0 15 27 7 *'
23
8
 
24
9
  before(:each) do
25
- ConnectionHelper.create_default_connection
10
+ @client = ConnectionHelper.create_default_connection
26
11
 
27
- GoodData.project = ProjectHelper::PROJECT_ID
12
+ @project = ProjectHelper.get_default_project(:client => @client)
28
13
 
29
- @project = GoodData.project
30
14
  @project_executable = "./graph/graph.grf"
15
+
16
+ @test_data = {
17
+ :timezone => 'UTC',
18
+ :cron => '2 2 2 2 *',
19
+ :client => @client,
20
+ :project => @project
21
+ }
22
+
23
+ @test_data_with_optional_param = {
24
+ :timezone => 'UTC',
25
+ :cron => '2 2 2 2 *',
26
+ :reschedule => 15,
27
+ :client => @client,
28
+ :project => @project
29
+ }
31
30
  end
32
31
 
33
32
  after(:each) do
34
- GoodData.disconnect
33
+ @client.disconnect
35
34
  end
36
35
 
37
36
  describe '#[]' do
38
37
  it 'Returns all schedules when :all passed' do
39
- res = GoodData::Schedule[:all]
38
+ res = @project.schedules
40
39
  res.should_not be_nil
41
40
  res.should be_a_kind_of(Array)
42
41
  res.each do |schedule|
@@ -45,13 +44,13 @@ describe GoodData::Schedule do
45
44
  end
46
45
 
47
46
  it 'Returns specific schedule when schedule ID passed' do
48
- res = GoodData::Schedule[SCHEDULE_ID]
47
+ res = @project.schedules(SCHEDULE_ID)
49
48
  res.should_not be_nil
50
49
  res.should be_a_kind_of(GoodData::Schedule)
51
50
  end
52
51
 
53
52
  it 'Returns specific schedule when schedule URL passed' do
54
- res = GoodData::Schedule[SCHEDULE_URL]
53
+ res = @project.schedules(SCHEDULE_ID)
55
54
  res.should_not be_nil
56
55
  res.should be_a_kind_of(GoodData::Schedule)
57
56
  end
@@ -59,7 +58,7 @@ describe GoodData::Schedule do
59
58
 
60
59
  describe '#all' do
61
60
  it 'Returns all schedules' do
62
- res = GoodData::Schedule.all
61
+ res = @project.schedules
63
62
  res.should_not be_nil
64
63
  res.should be_a_kind_of(Array)
65
64
  res.each do |schedule|
@@ -72,7 +71,7 @@ describe GoodData::Schedule do
72
71
  it 'Creates new schedule if mandatory params passed' do
73
72
  sched = nil
74
73
  expect {
75
- sched = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
74
+ sched = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
76
75
  }.not_to raise_error
77
76
 
78
77
  sched.should_not be_nil
@@ -82,7 +81,7 @@ describe GoodData::Schedule do
82
81
  it 'Creates new schedule if mandatory params passed and optional params are present' do
83
82
  sched = nil
84
83
  expect {
85
- sched = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA_WITH_OPTIONAL_PARAM)
84
+ sched = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data_with_optional_param)
86
85
  }.not_to raise_error
87
86
 
88
87
  sched.should_not be_nil
@@ -91,44 +90,44 @@ describe GoodData::Schedule do
91
90
 
92
91
  it 'Throws exception when no process ID specified' do
93
92
  expect {
94
- sched = GoodData::Schedule.create(nil, TEST_CRON, @project_executable, TEST_DATA)
93
+ sched = @project.create_schedule(nil, @test_cron, @project_executable, @test_data)
95
94
  }.to raise_error 'Process ID has to be provided'
96
95
  end
97
96
 
98
97
  it 'Throws exception when no executable specified' do
99
98
  expect {
100
- sched = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, nil, TEST_DATA)
99
+ sched = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, nil, @test_data)
101
100
  }.to raise_error 'Executable has to be provided'
102
101
  end
103
102
 
104
103
  it 'Throws exception when no cron is specified' do
105
- data = TEST_DATA.deep_dup
104
+ data = @test_data.deep_dup
106
105
  data[:cron] = nil
107
106
  expect {
108
- sched = GoodData::Schedule.create(TEST_PROCESS_ID, nil, @project_executable, data)
107
+ sched = @project.create_schedule(ProcessHelper::PROCESS_ID, nil, @project_executable, data)
109
108
  }.to raise_error 'Cron schedule has to be provided'
110
109
  end
111
110
 
112
111
  it 'Throws exception when no timezone specified' do
113
- data = TEST_DATA.deep_dup
112
+ data = @test_data.deep_dup
114
113
  data[:timezone] = nil
115
114
  expect {
116
- sched = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, data)
115
+ sched = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, data)
117
116
  }.to raise_error 'A timezone has to be provided'
118
117
  end
119
118
 
120
119
  it 'Throws exception when no timezone specified' do
121
- data = TEST_DATA.deep_dup
120
+ data = @test_data.deep_dup
122
121
  data[:type] = nil
123
122
  expect {
124
- sched = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, data)
123
+ sched = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, data)
125
124
  }.to raise_error 'Schedule type has to be provided'
126
125
  end
127
126
  end
128
127
 
129
128
  describe '#cron' do
130
129
  before(:each) do
131
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
130
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
132
131
  end
133
132
 
134
133
  after(:each) do
@@ -145,7 +144,7 @@ describe GoodData::Schedule do
145
144
 
146
145
  describe '#cron=' do
147
146
  before(:each) do
148
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
147
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
149
148
  end
150
149
 
151
150
  after(:each) do
@@ -161,25 +160,9 @@ describe GoodData::Schedule do
161
160
  end
162
161
  end
163
162
 
164
- describe '#delete' do
165
- it 'Should delete schedule' do
166
- pending 'Setup test environment first'
167
-
168
- sched = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
169
- proc = GoodData::Process[TEST_PROCESS_ID]
170
-
171
- # Delete created schedule
172
- sched.delete
173
-
174
- proc.schedules.each do |tmp_sched|
175
- tmp_sched.uri.should_not equal(sched.uri)
176
- end
177
- end
178
- end
179
-
180
163
  describe '#executable' do
181
164
  before(:each) do
182
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
165
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
183
166
  end
184
167
 
185
168
  after(:each) do
@@ -196,7 +179,7 @@ describe GoodData::Schedule do
196
179
 
197
180
  describe '#executable=' do
198
181
  before(:each) do
199
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
182
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
200
183
  end
201
184
 
202
185
  after(:each) do
@@ -212,41 +195,9 @@ describe GoodData::Schedule do
212
195
  end
213
196
  end
214
197
 
215
- describe '#execute' do
216
- it 'Executes schedule on process' do
217
- pending 'Setup environment for this test'
218
-
219
- # Create one a schedule
220
- sched = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
221
-
222
- execution_time = Time.new
223
- execution_request = sched.execute
224
-
225
- # Call execute
226
- executed = false
227
- start_time = Time.new
228
- while (Time.new - start_time < 30)
229
- # Check if the last execution time
230
- sched.executions.each do |execution|
231
- next if execution['execution'].nil? || execution['execution']['startTime'].nil?
232
- parsed_time = Time.parse(execution['execution']['startTime'])
233
- executed_schedule = execution_request['execution']['links']['self'] == execution['execution']['links']['self']
234
- if (execution_time <= parsed_time && executed_schedule)
235
- executed = true
236
- break
237
- end
238
- end
239
- break if executed
240
- sleep 1
241
- end
242
-
243
- expect(executed).to be(true)
244
- end
245
- end
246
-
247
198
  describe '#execution_url' do
248
199
  before(:each) do
249
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
200
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
250
201
  end
251
202
 
252
203
  after(:each) do
@@ -263,7 +214,7 @@ describe GoodData::Schedule do
263
214
 
264
215
  describe '#type' do
265
216
  before(:each) do
266
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
217
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
267
218
  end
268
219
 
269
220
  after(:each) do
@@ -279,7 +230,7 @@ describe GoodData::Schedule do
279
230
 
280
231
  describe '#hidden_params' do
281
232
  before(:each) do
282
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
233
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
283
234
  end
284
235
 
285
236
  after(:each) do
@@ -295,7 +246,7 @@ describe GoodData::Schedule do
295
246
 
296
247
  describe '#hidden_params=' do
297
248
  before(:each) do
298
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
249
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
299
250
  end
300
251
 
301
252
  after(:each) do
@@ -317,7 +268,7 @@ describe GoodData::Schedule do
317
268
 
318
269
  describe '#params' do
319
270
  before(:each) do
320
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
271
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
321
272
  end
322
273
 
323
274
  after(:each) do
@@ -334,7 +285,7 @@ describe GoodData::Schedule do
334
285
 
335
286
  describe '#params=' do
336
287
  before(:each) do
337
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
288
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
338
289
  end
339
290
 
340
291
  after(:each) do
@@ -356,7 +307,7 @@ describe GoodData::Schedule do
356
307
 
357
308
  describe '#process_id' do
358
309
  before(:each) do
359
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
310
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
360
311
  end
361
312
 
362
313
  after(:each) do
@@ -373,7 +324,7 @@ describe GoodData::Schedule do
373
324
 
374
325
  describe '#process_id=' do
375
326
  before(:each) do
376
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
327
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
377
328
  end
378
329
 
379
330
  after(:each) do
@@ -391,22 +342,22 @@ describe GoodData::Schedule do
391
342
 
392
343
  describe '#save' do
393
344
  before(:each) do
394
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
345
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
395
346
  end
396
347
 
397
348
  after(:each) do
398
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
349
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
399
350
  end
400
351
 
401
352
  it 'Should save a schedule' do
402
- expect(GoodData::Schedule[@schedule.uri]).to eq @schedule
403
- expect(GoodData::Project[ProjectHelper::PROJECT_ID].schedules).to include(@schedule)
353
+ expect(@project.schedules(@schedule.uri)).to eq @schedule
354
+ expect(@client.projects(ProjectHelper::PROJECT_ID).schedules).to include(@schedule)
404
355
  end
405
356
  end
406
357
 
407
358
  describe '#state' do
408
359
  before(:each) do
409
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
360
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
410
361
  end
411
362
 
412
363
  after(:each) do
@@ -423,7 +374,7 @@ describe GoodData::Schedule do
423
374
 
424
375
  describe '#type' do
425
376
  before(:each) do
426
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
377
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
427
378
  end
428
379
 
429
380
  after(:each) do
@@ -440,7 +391,7 @@ describe GoodData::Schedule do
440
391
 
441
392
  describe '#type=' do
442
393
  before(:each) do
443
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
394
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
444
395
  end
445
396
 
446
397
  after(:each) do
@@ -458,7 +409,7 @@ describe GoodData::Schedule do
458
409
 
459
410
  describe '#timezone' do
460
411
  before(:each) do
461
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
412
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
462
413
  end
463
414
 
464
415
  after(:each) do
@@ -475,7 +426,7 @@ describe GoodData::Schedule do
475
426
 
476
427
  describe '#timezone=' do
477
428
  before(:each) do
478
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA)
429
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data)
479
430
  end
480
431
 
481
432
  after(:each) do
@@ -493,7 +444,7 @@ describe GoodData::Schedule do
493
444
 
494
445
  describe '#reschedule' do
495
446
  before(:each) do
496
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA_WITH_OPTIONAL_PARAM)
447
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data_with_optional_param)
497
448
  end
498
449
 
499
450
  after(:each) do
@@ -509,7 +460,7 @@ describe GoodData::Schedule do
509
460
 
510
461
  describe '#reschedule=' do
511
462
  before(:each) do
512
- @schedule = GoodData::Schedule.create(TEST_PROCESS_ID, TEST_CRON, @project_executable, TEST_DATA_WITH_OPTIONAL_PARAM)
463
+ @schedule = @project.create_schedule(ProcessHelper::PROCESS_ID, @test_cron, @project_executable, @test_data_with_optional_param)
513
464
  end
514
465
 
515
466
  after(:each) do
@@ -0,0 +1,6 @@
1
+ # encoding: UTF-8
2
+
3
+ require 'gooddata/rest/rest'
4
+
5
+ describe GoodData::Rest::Resource do
6
+ end
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: 0.6.7
4
+ version: 0.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kolesnikov
@@ -11,8 +11,22 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-08-05 00:00:00.000000000 Z
14
+ date: 2014-09-16 00:00:00.000000000 Z
15
15
  dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: debase
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
16
30
  - !ruby/object:Gem::Dependency
17
31
  name: rake
18
32
  requirement: !ruby/object:Gem::Requirement
@@ -69,6 +83,20 @@ dependencies:
69
83
  - - "~>"
70
84
  - !ruby/object:Gem::Version
71
85
  version: 2.14.1
86
+ - !ruby/object:Gem::Dependency
87
+ name: ruby-debug-ide
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
72
100
  - !ruby/object:Gem::Dependency
73
101
  name: rubocop
74
102
  requirement: !ruby/object:Gem::Requirement
@@ -293,6 +321,20 @@ dependencies:
293
321
  - - "~>"
294
322
  - !ruby/object:Gem::Version
295
323
  version: 1.0.4
324
+ - !ruby/object:Gem::Dependency
325
+ name: pmap
326
+ requirement: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - "~>"
329
+ - !ruby/object:Gem::Version
330
+ version: 1.0.1
331
+ type: :runtime
332
+ prerelease: false
333
+ version_requirements: !ruby/object:Gem::Requirement
334
+ requirements:
335
+ - - "~>"
336
+ - !ruby/object:Gem::Version
337
+ version: 1.0.1
296
338
  - !ruby/object:Gem::Dependency
297
339
  name: pry
298
340
  requirement: !ruby/object:Gem::Requirement
@@ -349,6 +391,20 @@ dependencies:
349
391
  - - "~>"
350
392
  - !ruby/object:Gem::Version
351
393
  version: 1.1.0
394
+ - !ruby/object:Gem::Dependency
395
+ name: terminal-table
396
+ requirement: !ruby/object:Gem::Requirement
397
+ requirements:
398
+ - - "~>"
399
+ - !ruby/object:Gem::Version
400
+ version: 1.4.5
401
+ type: :runtime
402
+ prerelease: false
403
+ version_requirements: !ruby/object:Gem::Requirement
404
+ requirements:
405
+ - - "~>"
406
+ - !ruby/object:Gem::Version
407
+ version: 1.4.5
352
408
  - !ruby/object:Gem::Dependency
353
409
  name: salesforce_bulk_query
354
410
  requirement: !ruby/object:Gem::Requirement
@@ -400,11 +456,13 @@ files:
400
456
  - LICENSE
401
457
  - README.md
402
458
  - Rakefile
459
+ - TODO.md
403
460
  - bin/gooddata
404
461
  - examples.rb
405
462
  - gooddata
406
463
  - gooddata.gemspec
407
464
  - lib/gooddata.rb
465
+ - lib/gooddata/app/app.rb
408
466
  - lib/gooddata/bricks/base_downloader.rb
409
467
  - lib/gooddata/bricks/brick.rb
410
468
  - lib/gooddata/bricks/bricks.rb
@@ -428,7 +486,6 @@ files:
428
486
  - lib/gooddata/cli/commands/process_cmd.rb
429
487
  - lib/gooddata/cli/commands/project_cmd.rb
430
488
  - lib/gooddata/cli/commands/projects_cmd.rb
431
- - lib/gooddata/cli/commands/role_cmd.rb
432
489
  - lib/gooddata/cli/commands/run_ruby_cmd.rb
433
490
  - lib/gooddata/cli/commands/scaffold_cmd.rb
434
491
  - lib/gooddata/cli/commands/user_cmd.rb
@@ -450,13 +507,11 @@ files:
450
507
  - lib/gooddata/commands/scaffold.rb
451
508
  - lib/gooddata/commands/user.rb
452
509
  - lib/gooddata/connection.rb
453
- - lib/gooddata/core/connection.rb
454
510
  - lib/gooddata/core/core.rb
455
511
  - lib/gooddata/core/logging.rb
456
512
  - lib/gooddata/core/nil_logger.rb
457
513
  - lib/gooddata/core/project.rb
458
514
  - lib/gooddata/core/rest.rb
459
- - lib/gooddata/core/threaded.rb
460
515
  - lib/gooddata/core/user.rb
461
516
  - lib/gooddata/data/data.rb
462
517
  - lib/gooddata/data/guesser.rb
@@ -469,8 +524,12 @@ files:
469
524
  - lib/gooddata/extensions/big_decimal.rb
470
525
  - lib/gooddata/extensions/enumerable.rb
471
526
  - lib/gooddata/extensions/extensions.rb
527
+ - lib/gooddata/extensions/hash.rb
472
528
  - lib/gooddata/extract.rb
473
529
  - lib/gooddata/goodzilla/goodzilla.rb
530
+ - lib/gooddata/helper/class_helper.rb
531
+ - lib/gooddata/helper/helpers.rb
532
+ - lib/gooddata/helpers/auth_helpers.rb
474
533
  - lib/gooddata/helpers/csv_helper.rb
475
534
  - lib/gooddata/helpers/global_helpers.rb
476
535
  - lib/gooddata/helpers/helpers.rb
@@ -482,6 +541,7 @@ files:
482
541
  - lib/gooddata/mixins/data_getter.rb
483
542
  - lib/gooddata/mixins/data_property_reader.rb
484
543
  - lib/gooddata/mixins/data_property_writer.rb
544
+ - lib/gooddata/mixins/inspector.rb
485
545
  - lib/gooddata/mixins/is_attribute.rb
486
546
  - lib/gooddata/mixins/is_fact.rb
487
547
  - lib/gooddata/mixins/is_label.rb
@@ -515,13 +575,11 @@ files:
515
575
  - lib/gooddata/models/from_wire.rb
516
576
  - lib/gooddata/models/invitation.rb
517
577
  - lib/gooddata/models/links.rb
518
- - lib/gooddata/models/md_object.rb
519
578
  - lib/gooddata/models/membership.rb
520
579
  - lib/gooddata/models/metadata.rb
521
580
  - lib/gooddata/models/metadata/attribute.rb
522
581
  - lib/gooddata/models/metadata/dashboard.rb
523
582
  - lib/gooddata/models/metadata/fact.rb
524
- - lib/gooddata/models/metadata/folder.rb
525
583
  - lib/gooddata/models/metadata/label.rb
526
584
  - lib/gooddata/models/metadata/metadata.rb
527
585
  - lib/gooddata/models/metadata/metric.rb
@@ -545,6 +603,16 @@ files:
545
603
  - lib/gooddata/models/tab_builder.rb
546
604
  - lib/gooddata/models/to_manifest.rb
547
605
  - lib/gooddata/models/to_wire.rb
606
+ - lib/gooddata/rest/README.md
607
+ - lib/gooddata/rest/client.rb
608
+ - lib/gooddata/rest/connection.rb
609
+ - lib/gooddata/rest/connections/connections.rb
610
+ - lib/gooddata/rest/connections/dummy_connection.rb
611
+ - lib/gooddata/rest/connections/rest_client_connection.rb
612
+ - lib/gooddata/rest/object.rb
613
+ - lib/gooddata/rest/object_factory.rb
614
+ - lib/gooddata/rest/resource.rb
615
+ - lib/gooddata/rest/rest.rb
548
616
  - lib/gooddata/version.rb
549
617
  - lib/templates/bricks/brick.rb.erb
550
618
  - lib/templates/bricks/main.rb.erb
@@ -558,9 +626,17 @@ files:
558
626
  - spec/data/.gooddata
559
627
  - spec/data/additional_dataset_module.json
560
628
  - spec/data/blueprint_invalid.json
629
+ - spec/data/cc/data/source/commits.csv
630
+ - spec/data/cc/data/source/devs.csv
631
+ - spec/data/cc/data/source/repos.csv
632
+ - spec/data/cc/devel.prm
633
+ - spec/data/cc/graph/graph.grf
634
+ - spec/data/cc/workspace.prm
561
635
  - spec/data/gd_gse_data_blueprint.json
562
636
  - spec/data/gd_gse_data_manifest.json
563
637
  - spec/data/gd_gse_data_model.json
638
+ - spec/data/hello_world_process/hello_world.rb
639
+ - spec/data/hello_world_process/hello_world.zip
564
640
  - spec/data/manifest_test_project.json
565
641
  - spec/data/model_module.json
566
642
  - spec/data/model_view.json
@@ -577,6 +653,7 @@ files:
577
653
  - spec/helpers/connection_helper.rb
578
654
  - spec/helpers/crypto_helper.rb
579
655
  - spec/helpers/csv_helper.rb
656
+ - spec/helpers/process_helper.rb
580
657
  - spec/helpers/project_helper.rb
581
658
  - spec/integration/command_projects_spec.rb
582
659
  - spec/integration/create_from_template_spec.rb
@@ -624,10 +701,9 @@ files:
624
701
  - spec/unit/models/domain_spec.rb
625
702
  - spec/unit/models/from_wire_spec.rb
626
703
  - spec/unit/models/invitation_spec.rb
627
- - spec/unit/models/md_object_spec.rb
628
704
  - spec/unit/models/membership_spec.rb
629
705
  - spec/unit/models/metadata_spec.rb
630
- - spec/unit/models/metric.rb
706
+ - spec/unit/models/metric_spec.rb
631
707
  - spec/unit/models/model_spec.rb
632
708
  - spec/unit/models/profile_spec.rb
633
709
  - spec/unit/models/project_blueprint_spec.rb
@@ -638,6 +714,7 @@ files:
638
714
  - spec/unit/models/schema_builder_spec.rb
639
715
  - spec/unit/models/to_manifest_spec.rb
640
716
  - spec/unit/models/to_wire_spec.rb
717
+ - spec/unit/rest/resource_spec.rb
641
718
  - tmp/.gitkeepme
642
719
  - yard-server.sh
643
720
  homepage: http://github.com/gooddata/gooddata-ruby
@@ -660,7 +737,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
660
737
  version: '0'
661
738
  requirements: []
662
739
  rubyforge_project:
663
- rubygems_version: 2.2.2
740
+ rubygems_version: 2.1.9
664
741
  signing_key:
665
742
  specification_version: 4
666
743
  summary: A convenient Ruby wrapper around the GoodData RESTful API