moodle_rb 2.1.5 → 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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -1
  3. data/lib/moodle_rb/courses.rb +7 -5
  4. data/lib/moodle_rb/version.rb +1 -1
  5. data/spec/lib/moodle_rb/courses_spec.rb +17 -4
  6. metadata +10 -126
  7. data/.github/workflows/build.yml +0 -36
  8. data/.github/workflows/publish.yml +0 -27
  9. data/.gitignore +0 -35
  10. data/.travis.yml +0 -9
  11. data/Dockerfile +0 -10
  12. data/Gemfile +0 -2
  13. data/docker-compose.yml +0 -6
  14. data/moodle_rb.gemspec +0 -26
  15. data/spec/cassettes/MoodleRb_Categories/_create/.yml +0 -39
  16. data/spec/cassettes/MoodleRb_Categories/_create/when_validation_fails/.yml +0 -39
  17. data/spec/cassettes/MoodleRb_Categories/_destroy/when_using_invalid_token/.yml +0 -39
  18. data/spec/cassettes/MoodleRb_Categories/_destroy/when_using_valid_token/.yml +0 -76
  19. data/spec/cassettes/MoodleRb_Categories/_index/.yml +0 -39
  20. data/spec/cassettes/MoodleRb_Categories/_index/when_using_invalid_token/.yml +0 -39
  21. data/spec/cassettes/MoodleRb_Categories/_show/.yml +0 -39
  22. data/spec/cassettes/MoodleRb_Categories/_show/when_using_invalid_token/.yml +0 -39
  23. data/spec/cassettes/MoodleRb_Client/_site_info/when_invalid_token/.yml +0 -39
  24. data/spec/cassettes/MoodleRb_Client/_site_info/when_valid_token/.yml +0 -39
  25. data/spec/cassettes/MoodleRb_Courses/_contents/when_using_invalid_token/.yml +0 -52
  26. data/spec/cassettes/MoodleRb_Courses/_contents/when_using_valid_token/.yml +0 -52
  27. data/spec/cassettes/MoodleRb_Courses/_core_course_import_course/when_using_invalid_token/.yml +0 -55
  28. data/spec/cassettes/MoodleRb_Courses/_core_course_import_course/when_using_valid_token/.yml +0 -54
  29. data/spec/cassettes/MoodleRb_Courses/_core_course_import_course/when_using_valid_token/when_using_invalid_course_id/.yml +0 -55
  30. data/spec/cassettes/MoodleRb_Courses/_create/.yml +0 -39
  31. data/spec/cassettes/MoodleRb_Courses/_create/when_validation_fails/.yml +0 -75
  32. data/spec/cassettes/MoodleRb_Courses/_destroy/when_using_invalid_token/.yml +0 -39
  33. data/spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/.yml +0 -75
  34. data/spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/when_using_invalid_course_id/.yml +0 -39
  35. data/spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_invalid_token/.yml +0 -39
  36. data/spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_valid_token/.yml +0 -75
  37. data/spec/cassettes/MoodleRb_Courses/_grade_items/when_using_invalid_token/.yml +0 -52
  38. data/spec/cassettes/MoodleRb_Courses/_grade_items/when_using_valid_token/.yml +0 -56
  39. data/spec/cassettes/MoodleRb_Courses/_index/.yml +0 -39
  40. data/spec/cassettes/MoodleRb_Courses/_index/when_using_invalid_token/.yml +0 -39
  41. data/spec/cassettes/MoodleRb_Courses/_module/when_using_invalid_token/.yml +0 -52
  42. data/spec/cassettes/MoodleRb_Courses/_module/when_using_valid_token/.yml +0 -51
  43. data/spec/cassettes/MoodleRb_Courses/_search/.yml +0 -102
  44. data/spec/cassettes/MoodleRb_Courses/_search/when_using_invalid_token/.yml +0 -55
  45. data/spec/cassettes/MoodleRb_Courses/_show/.yml +0 -39
  46. data/spec/cassettes/MoodleRb_Courses/_show/when_using_invalid_token/.yml +0 -39
  47. data/spec/cassettes/MoodleRb_Enrolments/_create/.yml +0 -39
  48. data/spec/cassettes/MoodleRb_Enrolments/_create/when_user_or_course_id_is_invalid/.yml +0 -39
  49. data/spec/cassettes/MoodleRb_Enrolments/_destroy/.yml +0 -51
  50. data/spec/cassettes/MoodleRb_Enrolments/_destroy/when_user_or_course_id_is_invalid/.yml +0 -52
  51. data/spec/cassettes/MoodleRb_Grades/_by_assignment/.yml +0 -39
  52. data/spec/cassettes/MoodleRb_Grades/_by_course/.yml +0 -39
  53. data/spec/cassettes/MoodleRb_Grades/_by_course/when_invalid_parameters/.yml +0 -39
  54. data/spec/cassettes/MoodleRb_Users/_create/.yml +0 -39
  55. data/spec/cassettes/MoodleRb_Users/_create/when_missing_required_parameters/.yml +0 -39
  56. data/spec/cassettes/MoodleRb_Users/_destroy/.yml +0 -39
  57. data/spec/cassettes/MoodleRb_Users/_destroy/when_id_does_not_exist/.yml +0 -39
  58. data/spec/cassettes/MoodleRb_Users/_destroy/when_using_invalid_token/.yml +0 -39
  59. data/spec/cassettes/MoodleRb_Users/_enrolled_courses/.yml +0 -39
  60. data/spec/cassettes/MoodleRb_Users/_enrolled_courses/when_using_invalid_token/.yml +0 -39
  61. data/spec/cassettes/MoodleRb_Users/_search/.yml +0 -39
  62. data/spec/cassettes/MoodleRb_Users/_search/when_using_invalid_token/.yml +0 -39
  63. data/spec/cassettes/MoodleRb_Users/_search_identity/.yml +0 -51
  64. data/spec/cassettes/MoodleRb_Users/_search_identity/when_using_invalid_token/.yml +0 -52
  65. data/spec/cassettes/MoodleRb_Users/_show/.yml +0 -39
  66. data/spec/cassettes/MoodleRb_Users/_show/when_using_invalid_token/.yml +0 -39
  67. data/spec/cassettes/MoodleRb_Users/_update/.yml +0 -39
  68. 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: adea1a16244c97a8a745da9a7cffe186ed7e87f2d868376a86ac3d311797d183
4
- data.tar.gz: f34de3627bb2146616461a200721edc75a51ab6ec37ab2c0e930d1f8924f26ff
3
+ metadata.gz: 6052eb0f6c6ee5d3c831916598612d0007a352ab61cd3e496b7ef1344a4c4c27
4
+ data.tar.gz: f7464546db1cec7e5b7283e4b422e2f21de0d4b683f86e228f20884f5b314229
5
5
  SHA512:
6
- metadata.gz: b2469fd561371959c5d237c5a5cdc3ce1273587e0d9b430338812cc1bd0284497684ef801e2a3117515e82d5ef12ab6e1f3d4d8b03d698bab4b01a39167b7003
7
- data.tar.gz: 9c352bc8f6e07efc68ed6a5c239fe4ce9220a6659f81a334153eef0af0d138eca98000457e8fe5e04719493ce967cacf47d1699e287ba2f18edd766869b25053
6
+ metadata.gz: 808bd084a4ed5005f8f5746ba592fa04095390260b8f41a89784f4dd7709cfa77fdd3fe54d9e3dc458a38c90e4a25ac39e8e6969dda2e587398cbb15917b1358
7
+ data.tar.gz: 378be0e6d456c67a92deaf21a6c3908dd6afafb133de801ad1c4235010e12a9cc1380670836958006c3873dee891b6624a383d845e64dfd5bd106fcd7b970945
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MoodleRb
2
2
 
3
- [![Build](https://github.com/jobready/moodle-rb/actions/workflows/build.yml/badge.svg)](https://github.com/jobready/moodle-rb/actions/workflows/build.yml)
3
+ [![Build](https://github.com/jobready/moodle-rb/actions/workflows/build.yml/badge.svg)](https://github.com/jobready/moodle-rb/actions/workflows/build.yml)
4
4
 
5
5
  [![Gem Version](https://badge.fury.io/rb/moodle_rb.svg)](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,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)
@@ -1,5 +1,5 @@
1
1
  module MoodleRb
2
- VERSION = '2.1.5' unless defined?(self::VERSION)
2
+ VERSION = '2.2.0' unless defined?(self::VERSION)
3
3
 
4
4
  def self.version
5
5
  VERSION
@@ -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
- specify do
92
- expect(result).to be_a Hash
93
- expect(result['id']).to eq 1
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
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.1.5
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: 2023-02-13 00:00:00.000000000 Z
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: '1.3'
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: '1.3'
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,61 +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/_core_course_import_course/when_using_invalid_token/.yml
138
- - spec/cassettes/MoodleRb_Courses/_core_course_import_course/when_using_valid_token/.yml
139
- - spec/cassettes/MoodleRb_Courses/_core_course_import_course/when_using_valid_token/when_using_invalid_course_id/.yml
140
- - spec/cassettes/MoodleRb_Courses/_create/.yml
141
- - spec/cassettes/MoodleRb_Courses/_create/when_validation_fails/.yml
142
- - spec/cassettes/MoodleRb_Courses/_destroy/when_using_invalid_token/.yml
143
- - spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/.yml
144
- - spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/when_using_invalid_course_id/.yml
145
- - spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_invalid_token/.yml
146
- - spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_valid_token/.yml
147
- - spec/cassettes/MoodleRb_Courses/_grade_items/when_using_invalid_token/.yml
148
- - spec/cassettes/MoodleRb_Courses/_grade_items/when_using_valid_token/.yml
149
- - spec/cassettes/MoodleRb_Courses/_index/.yml
150
- - spec/cassettes/MoodleRb_Courses/_index/when_using_invalid_token/.yml
151
- - spec/cassettes/MoodleRb_Courses/_module/when_using_invalid_token/.yml
152
- - spec/cassettes/MoodleRb_Courses/_module/when_using_valid_token/.yml
153
- - spec/cassettes/MoodleRb_Courses/_search/.yml
154
- - spec/cassettes/MoodleRb_Courses/_search/when_using_invalid_token/.yml
155
- - spec/cassettes/MoodleRb_Courses/_show/.yml
156
- - spec/cassettes/MoodleRb_Courses/_show/when_using_invalid_token/.yml
157
- - spec/cassettes/MoodleRb_Enrolments/_create/.yml
158
- - spec/cassettes/MoodleRb_Enrolments/_create/when_user_or_course_id_is_invalid/.yml
159
- - spec/cassettes/MoodleRb_Enrolments/_destroy/.yml
160
- - spec/cassettes/MoodleRb_Enrolments/_destroy/when_user_or_course_id_is_invalid/.yml
161
- - spec/cassettes/MoodleRb_Grades/_by_assignment/.yml
162
- - spec/cassettes/MoodleRb_Grades/_by_course/.yml
163
- - spec/cassettes/MoodleRb_Grades/_by_course/when_invalid_parameters/.yml
164
- - spec/cassettes/MoodleRb_Users/_create/.yml
165
- - spec/cassettes/MoodleRb_Users/_create/when_missing_required_parameters/.yml
166
- - spec/cassettes/MoodleRb_Users/_destroy/.yml
167
- - spec/cassettes/MoodleRb_Users/_destroy/when_id_does_not_exist/.yml
168
- - spec/cassettes/MoodleRb_Users/_destroy/when_using_invalid_token/.yml
169
- - spec/cassettes/MoodleRb_Users/_enrolled_courses/.yml
170
- - spec/cassettes/MoodleRb_Users/_enrolled_courses/when_using_invalid_token/.yml
171
- - spec/cassettes/MoodleRb_Users/_search/.yml
172
- - spec/cassettes/MoodleRb_Users/_search/when_using_invalid_token/.yml
173
- - spec/cassettes/MoodleRb_Users/_search_identity/.yml
174
- - spec/cassettes/MoodleRb_Users/_search_identity/when_using_invalid_token/.yml
175
- - spec/cassettes/MoodleRb_Users/_show/.yml
176
- - spec/cassettes/MoodleRb_Users/_show/when_using_invalid_token/.yml
177
- - spec/cassettes/MoodleRb_Users/_update/.yml
178
- - spec/cassettes/MoodleRb_Users/_update/when_using_invalid_token/.yml
179
117
  - spec/lib/moodle_rb/categories_spec.rb
180
118
  - spec/lib/moodle_rb/client_spec.rb
181
119
  - spec/lib/moodle_rb/courses_spec.rb
@@ -210,67 +148,13 @@ signing_key:
210
148
  specification_version: 4
211
149
  summary: A Ruby client for the Moodle API
212
150
  test_files:
213
- - spec/cassettes/MoodleRb_Categories/_create/.yml
214
- - spec/cassettes/MoodleRb_Categories/_create/when_validation_fails/.yml
215
- - spec/cassettes/MoodleRb_Categories/_destroy/when_using_invalid_token/.yml
216
- - spec/cassettes/MoodleRb_Categories/_destroy/when_using_valid_token/.yml
217
- - spec/cassettes/MoodleRb_Categories/_index/.yml
218
- - spec/cassettes/MoodleRb_Categories/_index/when_using_invalid_token/.yml
219
- - spec/cassettes/MoodleRb_Categories/_show/.yml
220
- - spec/cassettes/MoodleRb_Categories/_show/when_using_invalid_token/.yml
221
- - spec/cassettes/MoodleRb_Client/_site_info/when_invalid_token/.yml
222
- - spec/cassettes/MoodleRb_Client/_site_info/when_valid_token/.yml
223
- - spec/cassettes/MoodleRb_Courses/_contents/when_using_invalid_token/.yml
224
- - spec/cassettes/MoodleRb_Courses/_contents/when_using_valid_token/.yml
225
- - spec/cassettes/MoodleRb_Courses/_core_course_import_course/when_using_invalid_token/.yml
226
- - spec/cassettes/MoodleRb_Courses/_core_course_import_course/when_using_valid_token/.yml
227
- - spec/cassettes/MoodleRb_Courses/_core_course_import_course/when_using_valid_token/when_using_invalid_course_id/.yml
228
- - spec/cassettes/MoodleRb_Courses/_create/.yml
229
- - spec/cassettes/MoodleRb_Courses/_create/when_validation_fails/.yml
230
- - spec/cassettes/MoodleRb_Courses/_destroy/when_using_invalid_token/.yml
231
- - spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/.yml
232
- - spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/when_using_invalid_course_id/.yml
233
- - spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_invalid_token/.yml
234
- - spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_valid_token/.yml
235
- - spec/cassettes/MoodleRb_Courses/_grade_items/when_using_invalid_token/.yml
236
- - spec/cassettes/MoodleRb_Courses/_grade_items/when_using_valid_token/.yml
237
- - spec/cassettes/MoodleRb_Courses/_index/.yml
238
- - spec/cassettes/MoodleRb_Courses/_index/when_using_invalid_token/.yml
239
- - spec/cassettes/MoodleRb_Courses/_module/when_using_invalid_token/.yml
240
- - spec/cassettes/MoodleRb_Courses/_module/when_using_valid_token/.yml
241
- - spec/cassettes/MoodleRb_Courses/_search/.yml
242
- - spec/cassettes/MoodleRb_Courses/_search/when_using_invalid_token/.yml
243
- - spec/cassettes/MoodleRb_Courses/_show/.yml
244
- - spec/cassettes/MoodleRb_Courses/_show/when_using_invalid_token/.yml
245
- - spec/cassettes/MoodleRb_Enrolments/_create/.yml
246
- - spec/cassettes/MoodleRb_Enrolments/_create/when_user_or_course_id_is_invalid/.yml
247
- - spec/cassettes/MoodleRb_Enrolments/_destroy/.yml
248
- - spec/cassettes/MoodleRb_Enrolments/_destroy/when_user_or_course_id_is_invalid/.yml
249
- - spec/cassettes/MoodleRb_Grades/_by_assignment/.yml
250
- - spec/cassettes/MoodleRb_Grades/_by_course/.yml
251
- - spec/cassettes/MoodleRb_Grades/_by_course/when_invalid_parameters/.yml
252
- - spec/cassettes/MoodleRb_Users/_create/.yml
253
- - spec/cassettes/MoodleRb_Users/_create/when_missing_required_parameters/.yml
254
- - spec/cassettes/MoodleRb_Users/_destroy/.yml
255
- - spec/cassettes/MoodleRb_Users/_destroy/when_id_does_not_exist/.yml
256
- - spec/cassettes/MoodleRb_Users/_destroy/when_using_invalid_token/.yml
257
- - spec/cassettes/MoodleRb_Users/_enrolled_courses/.yml
258
- - spec/cassettes/MoodleRb_Users/_enrolled_courses/when_using_invalid_token/.yml
259
- - spec/cassettes/MoodleRb_Users/_search/.yml
260
- - spec/cassettes/MoodleRb_Users/_search/when_using_invalid_token/.yml
261
- - spec/cassettes/MoodleRb_Users/_search_identity/.yml
262
- - spec/cassettes/MoodleRb_Users/_search_identity/when_using_invalid_token/.yml
263
- - spec/cassettes/MoodleRb_Users/_show/.yml
264
- - spec/cassettes/MoodleRb_Users/_show/when_using_invalid_token/.yml
265
- - spec/cassettes/MoodleRb_Users/_update/.yml
266
- - 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
267
156
  - spec/lib/moodle_rb/categories_spec.rb
268
157
  - spec/lib/moodle_rb/client_spec.rb
269
- - spec/lib/moodle_rb/courses_spec.rb
270
- - spec/lib/moodle_rb/enrolments_spec.rb
271
- - spec/lib/moodle_rb/error_spec.rb
272
- - spec/lib/moodle_rb/grades_spec.rb
273
- - spec/lib/moodle_rb/users_spec.rb
274
158
  - spec/lib/moodle_rb/utility_spec.rb
275
- - spec/lib/moodle_rb_spec.rb
159
+ - spec/lib/moodle_rb/users_spec.rb
276
160
  - spec/spec_helper.rb
@@ -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
@@ -1,9 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 1.8.7
4
- cache:
5
- - bundler
6
- - apt
7
- bundler_args: -j4 --quiet
8
- script:
9
- - bundle exec rspec
data/Dockerfile DELETED
@@ -1,10 +0,0 @@
1
- FROM ruby:2.3-slim
2
-
3
- RUN apt-get update -y && apt-get install -y git
4
-
5
- WORKDIR /app
6
- ADD . .
7
- RUN bundle install
8
-
9
- # ENV MOODLE_URL=http://localhost:8888/moodle29/
10
- # ENV MOODLE_TOKEN=87b95af2df709fa60b395b5c59a3fc2e
data/Gemfile DELETED
@@ -1,2 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec
data/docker-compose.yml DELETED
@@ -1,6 +0,0 @@
1
- version: '2'
2
- services:
3
- app:
4
- build: .
5
- volumes:
6
- - .:/app
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
@@ -1,76 +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
- uri: http://localhost:8888/moodle28/webservice/rest/server.php?moodlewsrestformat=json&wsfunction=core_course_create_categories&wstoken=60fc9c9415259404795094957e4ab32f
8
- body:
9
- string: categories[0][description]=&categories[0][parent]=0&categories[0][name]=_&categories[0][idnumber]=
10
- headers: {}
11
-
12
- response:
13
- status:
14
- code: 200
15
- message: OK
16
- headers:
17
- Server:
18
- - 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
19
- Access-Control-Allow-Origin:
20
- - "*"
21
- Content-Type:
22
- - application/json
23
- Expires:
24
- - Thu, 01 Jan 1970 00:00:00 GMT
25
- X-Powered-By:
26
- - PHP/5.6.2
27
- Accept-Ranges:
28
- - none
29
- Cache-Control:
30
- - private, must-revalidate, pre-check=0, post-check=0, max-age=0
31
- Date:
32
- - Mon, 20 Jun 2016 23:23:47 GMT
33
- Content-Length:
34
- - "21"
35
- Pragma:
36
- - no-cache
37
- body:
38
- string: "[{\"id\":3,\"name\":\"_\"}]"
39
- http_version:
40
- recorded_at: Mon, 20 Jun 2016 23:23:47 GMT
41
- - request:
42
- method: post
43
- uri: http://localhost:8888/moodle28/webservice/rest/server.php?moodlewsrestformat=json&wsfunction=core_course_delete_categories&wstoken=60fc9c9415259404795094957e4ab32f
44
- body:
45
- string: categories[0][recursive]=1&categories[0][id]=3
46
- headers: {}
47
-
48
- response:
49
- status:
50
- code: 200
51
- message: OK
52
- headers:
53
- Server:
54
- - 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
55
- Access-Control-Allow-Origin:
56
- - "*"
57
- Content-Type:
58
- - application/json
59
- Expires:
60
- - Thu, 01 Jan 1970 00:00:00 GMT
61
- X-Powered-By:
62
- - PHP/5.6.2
63
- Accept-Ranges:
64
- - none
65
- Cache-Control:
66
- - private, must-revalidate, pre-check=0, post-check=0, max-age=0
67
- Date:
68
- - Mon, 20 Jun 2016 23:23:47 GMT
69
- Content-Length:
70
- - "4"
71
- Pragma:
72
- - no-cache
73
- body:
74
- string: "null"
75
- http_version:
76
- recorded_at: Mon, 20 Jun 2016 23:23:47 GMT