moodle_rb 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +13 -1
- data/lib/moodle_rb/courses.rb +25 -5
- data/lib/moodle_rb/version.rb +1 -1
- data/spec/lib/moodle_rb/courses_spec.rb +61 -4
- metadata +10 -120
- data/.github/workflows/build.yml +0 -36
- data/.github/workflows/publish.yml +0 -27
- data/.gitignore +0 -35
- data/.travis.yml +0 -9
- data/Dockerfile +0 -10
- data/Gemfile +0 -2
- data/docker-compose.yml +0 -6
- data/moodle_rb.gemspec +0 -26
- data/spec/cassettes/MoodleRb_Categories/_create/.yml +0 -39
- data/spec/cassettes/MoodleRb_Categories/_create/when_validation_fails/.yml +0 -39
- data/spec/cassettes/MoodleRb_Categories/_destroy/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Categories/_destroy/when_using_valid_token/.yml +0 -76
- data/spec/cassettes/MoodleRb_Categories/_index/.yml +0 -39
- data/spec/cassettes/MoodleRb_Categories/_index/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Categories/_show/.yml +0 -39
- data/spec/cassettes/MoodleRb_Categories/_show/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Client/_site_info/when_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Client/_site_info/when_valid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Courses/_contents/when_using_invalid_token/.yml +0 -52
- data/spec/cassettes/MoodleRb_Courses/_contents/when_using_valid_token/.yml +0 -52
- data/spec/cassettes/MoodleRb_Courses/_create/.yml +0 -39
- data/spec/cassettes/MoodleRb_Courses/_create/when_validation_fails/.yml +0 -75
- data/spec/cassettes/MoodleRb_Courses/_destroy/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/.yml +0 -75
- data/spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/when_using_invalid_course_id/.yml +0 -39
- data/spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_valid_token/.yml +0 -75
- data/spec/cassettes/MoodleRb_Courses/_grade_items/when_using_invalid_token/.yml +0 -52
- data/spec/cassettes/MoodleRb_Courses/_grade_items/when_using_valid_token/.yml +0 -56
- data/spec/cassettes/MoodleRb_Courses/_index/.yml +0 -39
- data/spec/cassettes/MoodleRb_Courses/_index/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Courses/_module/when_using_invalid_token/.yml +0 -52
- data/spec/cassettes/MoodleRb_Courses/_module/when_using_valid_token/.yml +0 -51
- data/spec/cassettes/MoodleRb_Courses/_search/.yml +0 -102
- data/spec/cassettes/MoodleRb_Courses/_search/when_using_invalid_token/.yml +0 -55
- data/spec/cassettes/MoodleRb_Courses/_show/.yml +0 -39
- data/spec/cassettes/MoodleRb_Courses/_show/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Enrolments/_create/.yml +0 -39
- data/spec/cassettes/MoodleRb_Enrolments/_create/when_user_or_course_id_is_invalid/.yml +0 -39
- data/spec/cassettes/MoodleRb_Enrolments/_destroy/.yml +0 -51
- data/spec/cassettes/MoodleRb_Enrolments/_destroy/when_user_or_course_id_is_invalid/.yml +0 -52
- data/spec/cassettes/MoodleRb_Grades/_by_assignment/.yml +0 -39
- data/spec/cassettes/MoodleRb_Grades/_by_course/.yml +0 -39
- data/spec/cassettes/MoodleRb_Grades/_by_course/when_invalid_parameters/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_create/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_create/when_missing_required_parameters/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_destroy/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_destroy/when_id_does_not_exist/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_destroy/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_enrolled_courses/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_enrolled_courses/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_search/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_search/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_search_identity/.yml +0 -51
- data/spec/cassettes/MoodleRb_Users/_search_identity/when_using_invalid_token/.yml +0 -52
- data/spec/cassettes/MoodleRb_Users/_show/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_show/when_using_invalid_token/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_update/.yml +0 -39
- data/spec/cassettes/MoodleRb_Users/_update/when_using_invalid_token/.yml +0 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6052eb0f6c6ee5d3c831916598612d0007a352ab61cd3e496b7ef1344a4c4c27
|
4
|
+
data.tar.gz: f7464546db1cec7e5b7283e4b422e2f21de0d4b683f86e228f20884f5b314229
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 808bd084a4ed5005f8f5746ba592fa04095390260b8f41a89784f4dd7709cfa77fdd3fe54d9e3dc458a38c90e4a25ac39e8e6969dda2e587398cbb15917b1358
|
7
|
+
data.tar.gz: 378be0e6d456c67a92deaf21a6c3908dd6afafb133de801ad1c4235010e12a9cc1380670836958006c3873dee891b6624a383d845e64dfd5bd106fcd7b970945
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# MoodleRb
|
2
2
|
|
3
|
-
[](https://github.com/jobready/moodle-rb/actions/workflows/build.yml)
|
3
|
+
[](https://github.com/jobready/moodle-rb/actions/workflows/build.yml)
|
4
4
|
|
5
5
|
[](https://badge.fury.io/rb/moodle_rb)
|
6
6
|
|
@@ -49,6 +49,10 @@ Show a course
|
|
49
49
|
moodle.courses.show(course_id)
|
50
50
|
```
|
51
51
|
|
52
|
+
```
|
53
|
+
moodle.courses.show(course_ids) # Example: moodle.courses.show(1234, 234, ...)
|
54
|
+
```
|
55
|
+
|
52
56
|
Delete a course
|
53
57
|
```
|
54
58
|
moodle.courses.destroy(course_id)
|
@@ -69,6 +73,14 @@ Get course module
|
|
69
73
|
moodle.courses.module(course_module_id)
|
70
74
|
```
|
71
75
|
|
76
|
+
Import course data from a course into another course
|
77
|
+
```
|
78
|
+
moodle.courses.core_course_import_course(
|
79
|
+
:from_course_id => from_course_id,
|
80
|
+
:to_course_id => to_course_id
|
81
|
+
)
|
82
|
+
```
|
83
|
+
|
72
84
|
### Categories
|
73
85
|
|
74
86
|
Create a category
|
data/lib/moodle_rb/courses.rb
CHANGED
@@ -69,22 +69,24 @@ module MoodleRb
|
|
69
69
|
response.parsed_response.first
|
70
70
|
end
|
71
71
|
|
72
|
-
def show(id)
|
72
|
+
def show(*id)
|
73
|
+
ids = id.map.with_index do |item, idx|
|
74
|
+
[idx.to_s, item]
|
75
|
+
end.to_h
|
76
|
+
|
73
77
|
response = self.class.post(
|
74
78
|
'/webservice/rest/server.php',
|
75
79
|
{
|
76
80
|
:query => query_hash('core_course_get_courses', token),
|
77
81
|
:body => {
|
78
82
|
:options => {
|
79
|
-
:ids
|
80
|
-
'0' => id
|
81
|
-
}
|
83
|
+
ids: ids
|
82
84
|
}
|
83
85
|
}
|
84
86
|
}.merge(query_options)
|
85
87
|
)
|
86
88
|
check_for_errors(response)
|
87
|
-
response.parsed_response.first
|
89
|
+
id.count > 1 ? response.parsed_response : response.parsed_response.first
|
88
90
|
end
|
89
91
|
|
90
92
|
def destroy(id)
|
@@ -160,5 +162,23 @@ module MoodleRb
|
|
160
162
|
check_for_errors(response)
|
161
163
|
response.parsed_response['cm']
|
162
164
|
end
|
165
|
+
|
166
|
+
# required params:
|
167
|
+
# from_course_id: the id of the course we are importing from
|
168
|
+
# to_course_id: the id of the course we are importing to
|
169
|
+
def core_course_import_course(params)
|
170
|
+
response = self.class.post(
|
171
|
+
'/webservice/rest/server.php',
|
172
|
+
{
|
173
|
+
:query => query_hash('core_course_import_course', token),
|
174
|
+
:body => {
|
175
|
+
:importfrom => params[:from_course_id],
|
176
|
+
:importto => params[:to_course_id]
|
177
|
+
}
|
178
|
+
}.merge(query_options)
|
179
|
+
)
|
180
|
+
check_for_errors(response)
|
181
|
+
response.code == 200 && response.parsed_response.nil?
|
182
|
+
end
|
163
183
|
end
|
164
184
|
end
|
data/lib/moodle_rb/version.rb
CHANGED
@@ -86,11 +86,24 @@ describe MoodleRb::Courses do
|
|
86
86
|
:match_requests_on => [:path], :record => :once
|
87
87
|
} do
|
88
88
|
let(:id) { 1 }
|
89
|
-
let(:result) { course_moodle_rb.show(id) }
|
90
89
|
|
91
|
-
|
92
|
-
|
93
|
-
|
90
|
+
context 'when passing single id' do
|
91
|
+
let(:result) { course_moodle_rb.show(id) }
|
92
|
+
|
93
|
+
specify do
|
94
|
+
expect(result).to be_a Hash
|
95
|
+
expect(result['id']).to eq 1
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
context 'when passing array of ids' do
|
100
|
+
let(:result) { course_moodle_rb.show(1, 2) }
|
101
|
+
|
102
|
+
specify do
|
103
|
+
expect(result).to be_a Array
|
104
|
+
expect(result[0]['id']).to eq 1
|
105
|
+
expect(result[1]['id']).to eq 2
|
106
|
+
end
|
94
107
|
end
|
95
108
|
|
96
109
|
context 'when using invalid token' do
|
@@ -247,4 +260,48 @@ describe MoodleRb::Courses do
|
|
247
260
|
end
|
248
261
|
end
|
249
262
|
end
|
263
|
+
|
264
|
+
describe '#core_course_import_course', :vcr => {
|
265
|
+
:match_requests_on => [:path], :record => :once
|
266
|
+
} do
|
267
|
+
context 'when using valid token' do
|
268
|
+
let(:params) do
|
269
|
+
{
|
270
|
+
:from_course_id => 467,
|
271
|
+
:to_course_id => 468
|
272
|
+
}
|
273
|
+
end
|
274
|
+
let(:result) { course_moodle_rb.core_course_import_course(params) }
|
275
|
+
|
276
|
+
specify do
|
277
|
+
expect(result).to eq true
|
278
|
+
end
|
279
|
+
|
280
|
+
context 'when using invalid course id' do
|
281
|
+
let(:params) do
|
282
|
+
{
|
283
|
+
:from_course_id => 467,
|
284
|
+
:to_course_id => -1
|
285
|
+
}
|
286
|
+
end
|
287
|
+
|
288
|
+
specify do
|
289
|
+
expect{ course_moodle_rb.core_course_import_course(params) }.to raise_error(
|
290
|
+
MoodleRb::MoodleError,
|
291
|
+
'You are trying to use an invalid course ID'
|
292
|
+
)
|
293
|
+
end
|
294
|
+
end
|
295
|
+
end
|
296
|
+
|
297
|
+
context 'when using invalid token' do
|
298
|
+
let(:token) { '' }
|
299
|
+
specify do
|
300
|
+
expect{ course_moodle_rb.core_course_import_course({}) }.to raise_error(
|
301
|
+
MoodleRb::MoodleError,
|
302
|
+
'Invalid token - token not found'
|
303
|
+
)
|
304
|
+
end
|
305
|
+
end
|
306
|
+
end
|
250
307
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moodle_rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Giffney
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,16 +101,9 @@ executables: []
|
|
101
101
|
extensions: []
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
|
-
- ".github/workflows/build.yml"
|
105
|
-
- ".github/workflows/publish.yml"
|
106
|
-
- ".gitignore"
|
107
|
-
- ".travis.yml"
|
108
|
-
- Dockerfile
|
109
|
-
- Gemfile
|
110
104
|
- LICENSE
|
111
105
|
- README.md
|
112
106
|
- Rakefile
|
113
|
-
- docker-compose.yml
|
114
107
|
- lib/moodle_rb.rb
|
115
108
|
- lib/moodle_rb/categories.rb
|
116
109
|
- lib/moodle_rb/client.rb
|
@@ -121,58 +114,6 @@ files:
|
|
121
114
|
- lib/moodle_rb/users.rb
|
122
115
|
- lib/moodle_rb/utility.rb
|
123
116
|
- lib/moodle_rb/version.rb
|
124
|
-
- moodle_rb.gemspec
|
125
|
-
- spec/cassettes/MoodleRb_Categories/_create/.yml
|
126
|
-
- spec/cassettes/MoodleRb_Categories/_create/when_validation_fails/.yml
|
127
|
-
- spec/cassettes/MoodleRb_Categories/_destroy/when_using_invalid_token/.yml
|
128
|
-
- spec/cassettes/MoodleRb_Categories/_destroy/when_using_valid_token/.yml
|
129
|
-
- spec/cassettes/MoodleRb_Categories/_index/.yml
|
130
|
-
- spec/cassettes/MoodleRb_Categories/_index/when_using_invalid_token/.yml
|
131
|
-
- spec/cassettes/MoodleRb_Categories/_show/.yml
|
132
|
-
- spec/cassettes/MoodleRb_Categories/_show/when_using_invalid_token/.yml
|
133
|
-
- spec/cassettes/MoodleRb_Client/_site_info/when_invalid_token/.yml
|
134
|
-
- spec/cassettes/MoodleRb_Client/_site_info/when_valid_token/.yml
|
135
|
-
- spec/cassettes/MoodleRb_Courses/_contents/when_using_invalid_token/.yml
|
136
|
-
- spec/cassettes/MoodleRb_Courses/_contents/when_using_valid_token/.yml
|
137
|
-
- spec/cassettes/MoodleRb_Courses/_create/.yml
|
138
|
-
- spec/cassettes/MoodleRb_Courses/_create/when_validation_fails/.yml
|
139
|
-
- spec/cassettes/MoodleRb_Courses/_destroy/when_using_invalid_token/.yml
|
140
|
-
- spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/.yml
|
141
|
-
- spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/when_using_invalid_course_id/.yml
|
142
|
-
- spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_invalid_token/.yml
|
143
|
-
- spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_valid_token/.yml
|
144
|
-
- spec/cassettes/MoodleRb_Courses/_grade_items/when_using_invalid_token/.yml
|
145
|
-
- spec/cassettes/MoodleRb_Courses/_grade_items/when_using_valid_token/.yml
|
146
|
-
- spec/cassettes/MoodleRb_Courses/_index/.yml
|
147
|
-
- spec/cassettes/MoodleRb_Courses/_index/when_using_invalid_token/.yml
|
148
|
-
- spec/cassettes/MoodleRb_Courses/_module/when_using_invalid_token/.yml
|
149
|
-
- spec/cassettes/MoodleRb_Courses/_module/when_using_valid_token/.yml
|
150
|
-
- spec/cassettes/MoodleRb_Courses/_search/.yml
|
151
|
-
- spec/cassettes/MoodleRb_Courses/_search/when_using_invalid_token/.yml
|
152
|
-
- spec/cassettes/MoodleRb_Courses/_show/.yml
|
153
|
-
- spec/cassettes/MoodleRb_Courses/_show/when_using_invalid_token/.yml
|
154
|
-
- spec/cassettes/MoodleRb_Enrolments/_create/.yml
|
155
|
-
- spec/cassettes/MoodleRb_Enrolments/_create/when_user_or_course_id_is_invalid/.yml
|
156
|
-
- spec/cassettes/MoodleRb_Enrolments/_destroy/.yml
|
157
|
-
- spec/cassettes/MoodleRb_Enrolments/_destroy/when_user_or_course_id_is_invalid/.yml
|
158
|
-
- spec/cassettes/MoodleRb_Grades/_by_assignment/.yml
|
159
|
-
- spec/cassettes/MoodleRb_Grades/_by_course/.yml
|
160
|
-
- spec/cassettes/MoodleRb_Grades/_by_course/when_invalid_parameters/.yml
|
161
|
-
- spec/cassettes/MoodleRb_Users/_create/.yml
|
162
|
-
- spec/cassettes/MoodleRb_Users/_create/when_missing_required_parameters/.yml
|
163
|
-
- spec/cassettes/MoodleRb_Users/_destroy/.yml
|
164
|
-
- spec/cassettes/MoodleRb_Users/_destroy/when_id_does_not_exist/.yml
|
165
|
-
- spec/cassettes/MoodleRb_Users/_destroy/when_using_invalid_token/.yml
|
166
|
-
- spec/cassettes/MoodleRb_Users/_enrolled_courses/.yml
|
167
|
-
- spec/cassettes/MoodleRb_Users/_enrolled_courses/when_using_invalid_token/.yml
|
168
|
-
- spec/cassettes/MoodleRb_Users/_search/.yml
|
169
|
-
- spec/cassettes/MoodleRb_Users/_search/when_using_invalid_token/.yml
|
170
|
-
- spec/cassettes/MoodleRb_Users/_search_identity/.yml
|
171
|
-
- spec/cassettes/MoodleRb_Users/_search_identity/when_using_invalid_token/.yml
|
172
|
-
- spec/cassettes/MoodleRb_Users/_show/.yml
|
173
|
-
- spec/cassettes/MoodleRb_Users/_show/when_using_invalid_token/.yml
|
174
|
-
- spec/cassettes/MoodleRb_Users/_update/.yml
|
175
|
-
- spec/cassettes/MoodleRb_Users/_update/when_using_invalid_token/.yml
|
176
117
|
- spec/lib/moodle_rb/categories_spec.rb
|
177
118
|
- spec/lib/moodle_rb/client_spec.rb
|
178
119
|
- spec/lib/moodle_rb/courses_spec.rb
|
@@ -207,64 +148,13 @@ signing_key:
|
|
207
148
|
specification_version: 4
|
208
149
|
summary: A Ruby client for the Moodle API
|
209
150
|
test_files:
|
210
|
-
- spec/
|
211
|
-
- spec/
|
212
|
-
- spec/
|
213
|
-
- spec/
|
214
|
-
- spec/
|
215
|
-
- spec/cassettes/MoodleRb_Categories/_index/when_using_invalid_token/.yml
|
216
|
-
- spec/cassettes/MoodleRb_Categories/_show/.yml
|
217
|
-
- spec/cassettes/MoodleRb_Categories/_show/when_using_invalid_token/.yml
|
218
|
-
- spec/cassettes/MoodleRb_Client/_site_info/when_invalid_token/.yml
|
219
|
-
- spec/cassettes/MoodleRb_Client/_site_info/when_valid_token/.yml
|
220
|
-
- spec/cassettes/MoodleRb_Courses/_contents/when_using_invalid_token/.yml
|
221
|
-
- spec/cassettes/MoodleRb_Courses/_contents/when_using_valid_token/.yml
|
222
|
-
- spec/cassettes/MoodleRb_Courses/_create/.yml
|
223
|
-
- spec/cassettes/MoodleRb_Courses/_create/when_validation_fails/.yml
|
224
|
-
- spec/cassettes/MoodleRb_Courses/_destroy/when_using_invalid_token/.yml
|
225
|
-
- spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/.yml
|
226
|
-
- spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/when_using_invalid_course_id/.yml
|
227
|
-
- spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_invalid_token/.yml
|
228
|
-
- spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_valid_token/.yml
|
229
|
-
- spec/cassettes/MoodleRb_Courses/_grade_items/when_using_invalid_token/.yml
|
230
|
-
- spec/cassettes/MoodleRb_Courses/_grade_items/when_using_valid_token/.yml
|
231
|
-
- spec/cassettes/MoodleRb_Courses/_index/.yml
|
232
|
-
- spec/cassettes/MoodleRb_Courses/_index/when_using_invalid_token/.yml
|
233
|
-
- spec/cassettes/MoodleRb_Courses/_module/when_using_invalid_token/.yml
|
234
|
-
- spec/cassettes/MoodleRb_Courses/_module/when_using_valid_token/.yml
|
235
|
-
- spec/cassettes/MoodleRb_Courses/_search/.yml
|
236
|
-
- spec/cassettes/MoodleRb_Courses/_search/when_using_invalid_token/.yml
|
237
|
-
- spec/cassettes/MoodleRb_Courses/_show/.yml
|
238
|
-
- spec/cassettes/MoodleRb_Courses/_show/when_using_invalid_token/.yml
|
239
|
-
- spec/cassettes/MoodleRb_Enrolments/_create/.yml
|
240
|
-
- spec/cassettes/MoodleRb_Enrolments/_create/when_user_or_course_id_is_invalid/.yml
|
241
|
-
- spec/cassettes/MoodleRb_Enrolments/_destroy/.yml
|
242
|
-
- spec/cassettes/MoodleRb_Enrolments/_destroy/when_user_or_course_id_is_invalid/.yml
|
243
|
-
- spec/cassettes/MoodleRb_Grades/_by_assignment/.yml
|
244
|
-
- spec/cassettes/MoodleRb_Grades/_by_course/.yml
|
245
|
-
- spec/cassettes/MoodleRb_Grades/_by_course/when_invalid_parameters/.yml
|
246
|
-
- spec/cassettes/MoodleRb_Users/_create/.yml
|
247
|
-
- spec/cassettes/MoodleRb_Users/_create/when_missing_required_parameters/.yml
|
248
|
-
- spec/cassettes/MoodleRb_Users/_destroy/.yml
|
249
|
-
- spec/cassettes/MoodleRb_Users/_destroy/when_id_does_not_exist/.yml
|
250
|
-
- spec/cassettes/MoodleRb_Users/_destroy/when_using_invalid_token/.yml
|
251
|
-
- spec/cassettes/MoodleRb_Users/_enrolled_courses/.yml
|
252
|
-
- spec/cassettes/MoodleRb_Users/_enrolled_courses/when_using_invalid_token/.yml
|
253
|
-
- spec/cassettes/MoodleRb_Users/_search/.yml
|
254
|
-
- spec/cassettes/MoodleRb_Users/_search/when_using_invalid_token/.yml
|
255
|
-
- spec/cassettes/MoodleRb_Users/_search_identity/.yml
|
256
|
-
- spec/cassettes/MoodleRb_Users/_search_identity/when_using_invalid_token/.yml
|
257
|
-
- spec/cassettes/MoodleRb_Users/_show/.yml
|
258
|
-
- spec/cassettes/MoodleRb_Users/_show/when_using_invalid_token/.yml
|
259
|
-
- spec/cassettes/MoodleRb_Users/_update/.yml
|
260
|
-
- spec/cassettes/MoodleRb_Users/_update/when_using_invalid_token/.yml
|
151
|
+
- spec/lib/moodle_rb_spec.rb
|
152
|
+
- spec/lib/moodle_rb/grades_spec.rb
|
153
|
+
- spec/lib/moodle_rb/error_spec.rb
|
154
|
+
- spec/lib/moodle_rb/enrolments_spec.rb
|
155
|
+
- spec/lib/moodle_rb/courses_spec.rb
|
261
156
|
- spec/lib/moodle_rb/categories_spec.rb
|
262
157
|
- spec/lib/moodle_rb/client_spec.rb
|
263
|
-
- spec/lib/moodle_rb/courses_spec.rb
|
264
|
-
- spec/lib/moodle_rb/enrolments_spec.rb
|
265
|
-
- spec/lib/moodle_rb/error_spec.rb
|
266
|
-
- spec/lib/moodle_rb/grades_spec.rb
|
267
|
-
- spec/lib/moodle_rb/users_spec.rb
|
268
158
|
- spec/lib/moodle_rb/utility_spec.rb
|
269
|
-
- spec/lib/
|
159
|
+
- spec/lib/moodle_rb/users_spec.rb
|
270
160
|
- spec/spec_helper.rb
|
data/.github/workflows/build.yml
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
# This workflow uses actions that are not certified by GitHub.
|
2
|
-
# They are provided by a third-party and are governed by
|
3
|
-
# separate terms of service, privacy policy, and support
|
4
|
-
# documentation.
|
5
|
-
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
-
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
-
|
8
|
-
name: Build
|
9
|
-
|
10
|
-
on:
|
11
|
-
push:
|
12
|
-
branches: [ develop ]
|
13
|
-
pull_request:
|
14
|
-
branches: [ develop ]
|
15
|
-
|
16
|
-
jobs:
|
17
|
-
test:
|
18
|
-
|
19
|
-
runs-on: ubuntu-latest
|
20
|
-
strategy:
|
21
|
-
matrix:
|
22
|
-
ruby-version: ['2.3']
|
23
|
-
|
24
|
-
steps:
|
25
|
-
- uses: actions/checkout@v2
|
26
|
-
- name: Set up Ruby
|
27
|
-
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
28
|
-
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
29
|
-
# uses: ruby/setup-ruby@v1
|
30
|
-
uses: ruby/setup-ruby@v1
|
31
|
-
with:
|
32
|
-
ruby-version: ${{ matrix.ruby-version }}
|
33
|
-
bundler: 1.17.3
|
34
|
-
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
35
|
-
- name: Run tests
|
36
|
-
run: bundle exec rspec spec
|
@@ -1,27 +0,0 @@
|
|
1
|
-
name: Publish
|
2
|
-
|
3
|
-
on:
|
4
|
-
release:
|
5
|
-
types: [published]
|
6
|
-
|
7
|
-
jobs:
|
8
|
-
build:
|
9
|
-
name: Build + Publish
|
10
|
-
runs-on: ubuntu-latest
|
11
|
-
permissions:
|
12
|
-
contents: read
|
13
|
-
packages: write
|
14
|
-
|
15
|
-
steps:
|
16
|
-
- uses: actions/checkout@v2
|
17
|
-
- name: Set up Ruby 2.7
|
18
|
-
uses: ruby/setup-ruby@v1
|
19
|
-
with:
|
20
|
-
ruby-version: '2.7'
|
21
|
-
|
22
|
-
- name: Publish to RubyGems
|
23
|
-
run: |
|
24
|
-
gem build *.gemspec
|
25
|
-
gem push *.gem
|
26
|
-
env:
|
27
|
-
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
data/.gitignore
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
/.config
|
4
|
-
/coverage/
|
5
|
-
/InstalledFiles
|
6
|
-
/pkg/
|
7
|
-
/spec/reports/
|
8
|
-
/test/tmp/
|
9
|
-
/test/version_tmp/
|
10
|
-
/tmp/
|
11
|
-
|
12
|
-
## Specific to RubyMotion:
|
13
|
-
.dat*
|
14
|
-
.repl_history
|
15
|
-
build/
|
16
|
-
|
17
|
-
## Documentation cache and generated files:
|
18
|
-
/.yardoc/
|
19
|
-
/_yardoc/
|
20
|
-
/doc/
|
21
|
-
/rdoc/
|
22
|
-
|
23
|
-
## Environment normalisation:
|
24
|
-
/.bundle/
|
25
|
-
/vendor/bundle
|
26
|
-
/lib/bundler/man/
|
27
|
-
|
28
|
-
# for a library or gem, you might want to ignore these files since the code is
|
29
|
-
# intended to run in multiple environments; otherwise, check them in:
|
30
|
-
Gemfile.lock
|
31
|
-
.ruby-version
|
32
|
-
.ruby-gemset
|
33
|
-
|
34
|
-
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
35
|
-
.rvmrc
|
data/.travis.yml
DELETED
data/Dockerfile
DELETED
data/Gemfile
DELETED
data/docker-compose.yml
DELETED
data/moodle_rb.gemspec
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
lib = File.expand_path('../lib', __FILE__)
|
2
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require 'moodle_rb/version'
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = 'moodle_rb'
|
7
|
-
spec.version = MoodleRb::VERSION
|
8
|
-
spec.authors = ['Sam Giffney']
|
9
|
-
spec.email = ['samg@jobready.com.au']
|
10
|
-
spec.summary = %q{ A Ruby client for the Moodle API }
|
11
|
-
spec.homepage = 'https://github.com/jobready/moodle-rb'
|
12
|
-
spec.license = 'MIT'
|
13
|
-
|
14
|
-
spec.files = `git ls-files -z`.split("\x0")
|
15
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
16
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
|
-
spec.require_paths = ['lib']
|
18
|
-
|
19
|
-
spec.add_development_dependency 'bundler', '~> 1.3'
|
20
|
-
spec.add_development_dependency 'rake', '~> 0'
|
21
|
-
spec.add_development_dependency 'rspec', '~> 3.0'
|
22
|
-
spec.add_development_dependency 'webmock', '~> 1.24.6'
|
23
|
-
spec.add_development_dependency 'vcr', '~> 2.9'
|
24
|
-
|
25
|
-
spec.add_dependency 'httparty', '>= 0.11.0'
|
26
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
---
|
2
|
-
recorded_with: VCR 2.9.3
|
3
|
-
http_interactions:
|
4
|
-
- request:
|
5
|
-
method: post
|
6
|
-
uri: http://localhost:8888/moodle28/webservice/rest/server.php?moodlewsrestformat=json&wsfunction=core_course_create_categories&wstoken=60fc9c9415259404795094957e4ab32f
|
7
|
-
body:
|
8
|
-
string: categories[0][description]=&categories[0][idnumber]=&categories[0][parent]=0&categories[0][name]=Test%20category
|
9
|
-
headers: {}
|
10
|
-
|
11
|
-
response:
|
12
|
-
status:
|
13
|
-
code: 200
|
14
|
-
message: OK
|
15
|
-
headers:
|
16
|
-
Server:
|
17
|
-
- Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/v5.20.0
|
18
|
-
Cache-Control:
|
19
|
-
- private, must-revalidate, pre-check=0, post-check=0, max-age=0
|
20
|
-
Pragma:
|
21
|
-
- no-cache
|
22
|
-
Date:
|
23
|
-
- Sun, 12 Apr 2015 00:40:13 GMT
|
24
|
-
Content-Type:
|
25
|
-
- application/json
|
26
|
-
Expires:
|
27
|
-
- Thu, 01 Jan 1970 00:00:00 GMT
|
28
|
-
Access-Control-Allow-Origin:
|
29
|
-
- "*"
|
30
|
-
Content-Length:
|
31
|
-
- "33"
|
32
|
-
X-Powered-By:
|
33
|
-
- PHP/5.6.2
|
34
|
-
Accept-Ranges:
|
35
|
-
- none
|
36
|
-
body:
|
37
|
-
string: "[{\"id\":5,\"name\":\"Test category\"}]"
|
38
|
-
http_version:
|
39
|
-
recorded_at: Sun, 12 Apr 2015 00:40:13 GMT
|
@@ -1,39 +0,0 @@
|
|
1
|
-
---
|
2
|
-
recorded_with: VCR 2.9.3
|
3
|
-
http_interactions:
|
4
|
-
- request:
|
5
|
-
method: post
|
6
|
-
uri: http://localhost:8888/moodle28/webservice/rest/server.php?moodlewsrestformat=json&wsfunction=core_course_create_categories&wstoken=60fc9c9415259404795094957e4ab32f
|
7
|
-
body:
|
8
|
-
string: categories[0][description]=&categories[0][idnumber]=CAT101&categories[0][parent]=0&categories[0][name]=Test%20category
|
9
|
-
headers: {}
|
10
|
-
|
11
|
-
response:
|
12
|
-
status:
|
13
|
-
code: 200
|
14
|
-
message: OK
|
15
|
-
headers:
|
16
|
-
Server:
|
17
|
-
- Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/v5.20.0
|
18
|
-
Cache-Control:
|
19
|
-
- private, must-revalidate, pre-check=0, post-check=0, max-age=0
|
20
|
-
Pragma:
|
21
|
-
- no-cache
|
22
|
-
Date:
|
23
|
-
- Sun, 12 Apr 2015 00:40:13 GMT
|
24
|
-
Content-Type:
|
25
|
-
- application/json
|
26
|
-
Expires:
|
27
|
-
- Thu, 01 Jan 1970 00:00:00 GMT
|
28
|
-
Access-Control-Allow-Origin:
|
29
|
-
- "*"
|
30
|
-
Content-Length:
|
31
|
-
- "127"
|
32
|
-
X-Powered-By:
|
33
|
-
- PHP/5.6.2
|
34
|
-
Accept-Ranges:
|
35
|
-
- none
|
36
|
-
body:
|
37
|
-
string: "{\"exception\":\"moodle_exception\",\"errorcode\":\"categoryidnumbertaken\",\"message\":\"ID number is already used for another category\"}"
|
38
|
-
http_version:
|
39
|
-
recorded_at: Sun, 12 Apr 2015 00:40:13 GMT
|
@@ -1,39 +0,0 @@
|
|
1
|
-
---
|
2
|
-
recorded_with: VCR 2.9.3
|
3
|
-
http_interactions:
|
4
|
-
- request:
|
5
|
-
method: post
|
6
|
-
uri: http://localhost:8888/moodle28/webservice/rest/server.php?moodlewsrestformat=json&wsfunction=core_course_create_categories&wstoken=
|
7
|
-
body:
|
8
|
-
string: categories[0][description]=&categories[0][parent]=0&categories[0][name]=_&categories[0][idnumber]=
|
9
|
-
headers: {}
|
10
|
-
|
11
|
-
response:
|
12
|
-
status:
|
13
|
-
code: 200
|
14
|
-
message: OK
|
15
|
-
headers:
|
16
|
-
Accept-Ranges:
|
17
|
-
- none
|
18
|
-
X-Powered-By:
|
19
|
-
- PHP/5.6.2
|
20
|
-
Content-Type:
|
21
|
-
- application/json
|
22
|
-
Date:
|
23
|
-
- Mon, 20 Jun 2016 23:22:31 GMT
|
24
|
-
Server:
|
25
|
-
- Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zg DAV/2 mod_perl/2.0.8 Perl/v5.20.0
|
26
|
-
Content-Length:
|
27
|
-
- "103"
|
28
|
-
Expires:
|
29
|
-
- Thu, 01 Jan 1970 00:00:00 GMT
|
30
|
-
Pragma:
|
31
|
-
- no-cache
|
32
|
-
Cache-Control:
|
33
|
-
- private, must-revalidate, pre-check=0, post-check=0, max-age=0
|
34
|
-
Access-Control-Allow-Origin:
|
35
|
-
- "*"
|
36
|
-
body:
|
37
|
-
string: "{\"exception\":\"moodle_exception\",\"errorcode\":\"invalidtoken\",\"message\":\"Invalid token - token not found\"}"
|
38
|
-
http_version:
|
39
|
-
recorded_at: Mon, 20 Jun 2016 23:22:31 GMT
|