gooddata 0.6.7 → 0.6.8

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