quiz_api_client 4.2.0 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/lib/quiz_api_client/services/items_service.rb +11 -0
  3. data/lib/quiz_api_client/version.rb +1 -1
  4. data/spec/config_spec.rb +66 -0
  5. data/spec/contracts/interaction_types_service_spec.rb +22 -0
  6. data/spec/contracts/item_analyses_service_spec.rb +59 -0
  7. data/spec/contracts/items_service_spec.rb +59 -0
  8. data/spec/contracts/qti_imports_service_spec.rb +34 -0
  9. data/spec/contracts/quiz_clone_job_service_spec.rb +20 -0
  10. data/spec/contracts/quiz_clone_jobs_service_spec.rb +21 -0
  11. data/spec/contracts/quiz_entries_service_spec.rb +125 -0
  12. data/spec/contracts/quiz_service_spec.rb +68 -0
  13. data/spec/contracts/quiz_session_events_service_spec.rb +30 -0
  14. data/spec/contracts/quiz_session_result_service_spec.rb +42 -0
  15. data/spec/contracts/quiz_session_service_spec.rb +56 -0
  16. data/spec/contracts/quiz_sessions_service_spec.rb +28 -0
  17. data/spec/contracts/quizzes_service_spec.rb +80 -0
  18. data/spec/contracts/session_item_results_service_spec.rb +60 -0
  19. data/spec/contracts/session_items_service_spec.rb +21 -0
  20. data/spec/contracts/shared_banks_spec.rb +366 -0
  21. data/spec/contracts/shared_examples/http_delete_example.rb +56 -0
  22. data/spec/contracts/shared_examples/http_get_example.rb +139 -0
  23. data/spec/contracts/shared_examples/http_patch_example.rb +60 -0
  24. data/spec/contracts/shared_examples/http_post_example.rb +60 -0
  25. data/spec/contracts/shared_examples/http_put_example.rb +60 -0
  26. data/spec/http_client_spec.rb +347 -0
  27. data/spec/json_formatter_spec.rb +32 -0
  28. data/spec/quiz_api_client/http_request/failure_spec.rb +100 -0
  29. data/spec/quiz_api_client/http_request/metrics_spec.rb +75 -0
  30. data/spec/quiz_api_client_spec.rb +117 -0
  31. data/spec/services/base_api_service_spec.rb +50 -0
  32. data/spec/services/interaction_types_service_spec.rb +25 -0
  33. data/spec/services/item_analyses_service_spec.rb +76 -0
  34. data/spec/services/items_service_spec.rb +56 -0
  35. data/spec/services/jwt_service_spec.rb +66 -0
  36. data/spec/services/qti_imports_service_spec.rb +114 -0
  37. data/spec/services/quiz_analyses_service_spec.rb +44 -0
  38. data/spec/services/quiz_clone_job_service_spec.rb +41 -0
  39. data/spec/services/quiz_clone_jobs_service_spec.rb +41 -0
  40. data/spec/services/quiz_entries_service_spec.rb +71 -0
  41. data/spec/services/quiz_service_spec.rb +49 -0
  42. data/spec/services/quiz_session_events_service_spec.rb +42 -0
  43. data/spec/services/quiz_session_result_service_spec.rb +26 -0
  44. data/spec/services/quiz_session_service_spec.rb +49 -0
  45. data/spec/services/quiz_sessions_service_spec.rb +42 -0
  46. data/spec/services/quizzes_service_spec.rb +71 -0
  47. data/spec/services/session_item_results_service_spec.rb +33 -0
  48. data/spec/services/session_items_service_spec.rb +26 -0
  49. data/spec/spec_helper.rb +42 -0
  50. data/spec/support/pact_config.rb +64 -0
  51. data/spec/support/pact_helper.rb +19 -0
  52. metadata +108 -39
  53. data/.dockerignore +0 -7
  54. data/.editorconfig +0 -16
  55. data/.gitignore +0 -13
  56. data/.rspec +0 -3
  57. data/.rubocop.yml +0 -72
  58. data/CHANGELOG.md +0 -35
  59. data/Dockerfile +0 -12
  60. data/Gemfile +0 -5
  61. data/Jenkinsfile +0 -86
  62. data/bin/console +0 -7
  63. data/bin/contracts-generate +0 -26
  64. data/bin/setup +0 -65
  65. data/docker-compose.dev.override.yml +0 -11
  66. data/docker-compose.yml +0 -10
  67. data/quiz_api_client.gemspec +0 -60
metadata CHANGED
@@ -1,26 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quiz_api_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.2.1
5
5
  platform: ruby
6
6
  authors:
7
- - Chris Wang
8
- - Augusto Callejas
9
- - Bryan Petty
10
- - Christian Prescott
11
- - Han Yan
7
+ - Alex Slaughter
12
8
  - Jayce Higgins
13
- - Marc Alan Phillips
9
+ - Jorge Arteaga
14
10
  - Mark Starkman
15
- - Michael Brewer-Davis
16
11
  - Michael Hargiss
17
- - Omar Khan
18
12
  - Robin Kuss
19
13
  - Ryan Taylor
20
- autorequire:
14
+ autorequire:
21
15
  bindir: exe
22
16
  cert_chain: []
23
- date: 2021-11-19 00:00:00.000000000 Z
17
+ date: 2022-03-26 00:00:00.000000000 Z
24
18
  dependencies:
25
19
  - !ruby/object:Gem::Dependency
26
20
  name: httparty
@@ -190,41 +184,21 @@ dependencies:
190
184
  - - ">="
191
185
  - !ruby/object:Gem::Version
192
186
  version: '0'
193
- description:
187
+ description:
194
188
  email:
195
- - acallejas@instructure.com
196
- - bpetty@instructure.com
197
- - cprescott@instructure.com
198
- - hyan@instructure.com
189
+ - aslaughter@instructure.com
199
190
  - jhiggins@instructure.com
200
- - mphillips@instructure.com
191
+ - jorge.arteaga@instructure.com
201
192
  - mark.starkman@instructure.com
202
- - mbd@instructure.com
203
193
  - mhargiss@instructure.com
204
- - okhan@instructure.com
205
194
  - rkuss@instructure.com
206
195
  - rtaylor@instructure.com
207
- - cwang@instructure.com
208
196
  executables: []
209
197
  extensions: []
210
198
  extra_rdoc_files: []
211
199
  files:
212
- - ".dockerignore"
213
- - ".editorconfig"
214
- - ".gitignore"
215
- - ".rspec"
216
- - ".rubocop.yml"
217
- - CHANGELOG.md
218
- - Dockerfile
219
- - Gemfile
220
- - Jenkinsfile
221
200
  - README.md
222
201
  - Rakefile
223
- - bin/console
224
- - bin/contracts-generate
225
- - bin/setup
226
- - docker-compose.dev.override.yml
227
- - docker-compose.yml
228
202
  - lib/quiz_api_client.rb
229
203
  - lib/quiz_api_client/config.rb
230
204
  - lib/quiz_api_client/http_client.rb
@@ -251,11 +225,58 @@ files:
251
225
  - lib/quiz_api_client/services/session_items_service.rb
252
226
  - lib/quiz_api_client/services/shared_banks.rb
253
227
  - lib/quiz_api_client/version.rb
254
- - quiz_api_client.gemspec
255
- homepage:
228
+ - spec/config_spec.rb
229
+ - spec/contracts/interaction_types_service_spec.rb
230
+ - spec/contracts/item_analyses_service_spec.rb
231
+ - spec/contracts/items_service_spec.rb
232
+ - spec/contracts/qti_imports_service_spec.rb
233
+ - spec/contracts/quiz_clone_job_service_spec.rb
234
+ - spec/contracts/quiz_clone_jobs_service_spec.rb
235
+ - spec/contracts/quiz_entries_service_spec.rb
236
+ - spec/contracts/quiz_service_spec.rb
237
+ - spec/contracts/quiz_session_events_service_spec.rb
238
+ - spec/contracts/quiz_session_result_service_spec.rb
239
+ - spec/contracts/quiz_session_service_spec.rb
240
+ - spec/contracts/quiz_sessions_service_spec.rb
241
+ - spec/contracts/quizzes_service_spec.rb
242
+ - spec/contracts/session_item_results_service_spec.rb
243
+ - spec/contracts/session_items_service_spec.rb
244
+ - spec/contracts/shared_banks_spec.rb
245
+ - spec/contracts/shared_examples/http_delete_example.rb
246
+ - spec/contracts/shared_examples/http_get_example.rb
247
+ - spec/contracts/shared_examples/http_patch_example.rb
248
+ - spec/contracts/shared_examples/http_post_example.rb
249
+ - spec/contracts/shared_examples/http_put_example.rb
250
+ - spec/http_client_spec.rb
251
+ - spec/json_formatter_spec.rb
252
+ - spec/quiz_api_client/http_request/failure_spec.rb
253
+ - spec/quiz_api_client/http_request/metrics_spec.rb
254
+ - spec/quiz_api_client_spec.rb
255
+ - spec/services/base_api_service_spec.rb
256
+ - spec/services/interaction_types_service_spec.rb
257
+ - spec/services/item_analyses_service_spec.rb
258
+ - spec/services/items_service_spec.rb
259
+ - spec/services/jwt_service_spec.rb
260
+ - spec/services/qti_imports_service_spec.rb
261
+ - spec/services/quiz_analyses_service_spec.rb
262
+ - spec/services/quiz_clone_job_service_spec.rb
263
+ - spec/services/quiz_clone_jobs_service_spec.rb
264
+ - spec/services/quiz_entries_service_spec.rb
265
+ - spec/services/quiz_service_spec.rb
266
+ - spec/services/quiz_session_events_service_spec.rb
267
+ - spec/services/quiz_session_result_service_spec.rb
268
+ - spec/services/quiz_session_service_spec.rb
269
+ - spec/services/quiz_sessions_service_spec.rb
270
+ - spec/services/quizzes_service_spec.rb
271
+ - spec/services/session_item_results_service_spec.rb
272
+ - spec/services/session_items_service_spec.rb
273
+ - spec/spec_helper.rb
274
+ - spec/support/pact_config.rb
275
+ - spec/support/pact_helper.rb
276
+ homepage:
256
277
  licenses: []
257
278
  metadata: {}
258
- post_install_message:
279
+ post_install_message:
259
280
  rdoc_options: []
260
281
  require_paths:
261
282
  - lib
@@ -271,7 +292,55 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
292
  version: '0'
272
293
  requirements: []
273
294
  rubygems_version: 3.1.6
274
- signing_key:
295
+ signing_key:
275
296
  specification_version: 4
276
297
  summary: Ruby client for quiz_api
277
- test_files: []
298
+ test_files:
299
+ - spec/config_spec.rb
300
+ - spec/contracts/interaction_types_service_spec.rb
301
+ - spec/contracts/item_analyses_service_spec.rb
302
+ - spec/contracts/items_service_spec.rb
303
+ - spec/contracts/qti_imports_service_spec.rb
304
+ - spec/contracts/quiz_clone_job_service_spec.rb
305
+ - spec/contracts/quiz_clone_jobs_service_spec.rb
306
+ - spec/contracts/quiz_entries_service_spec.rb
307
+ - spec/contracts/quiz_service_spec.rb
308
+ - spec/contracts/quiz_session_events_service_spec.rb
309
+ - spec/contracts/quiz_session_result_service_spec.rb
310
+ - spec/contracts/quiz_session_service_spec.rb
311
+ - spec/contracts/quiz_sessions_service_spec.rb
312
+ - spec/contracts/quizzes_service_spec.rb
313
+ - spec/contracts/session_item_results_service_spec.rb
314
+ - spec/contracts/session_items_service_spec.rb
315
+ - spec/contracts/shared_banks_spec.rb
316
+ - spec/contracts/shared_examples/http_delete_example.rb
317
+ - spec/contracts/shared_examples/http_get_example.rb
318
+ - spec/contracts/shared_examples/http_patch_example.rb
319
+ - spec/contracts/shared_examples/http_post_example.rb
320
+ - spec/contracts/shared_examples/http_put_example.rb
321
+ - spec/http_client_spec.rb
322
+ - spec/json_formatter_spec.rb
323
+ - spec/quiz_api_client/http_request/failure_spec.rb
324
+ - spec/quiz_api_client/http_request/metrics_spec.rb
325
+ - spec/quiz_api_client_spec.rb
326
+ - spec/services/base_api_service_spec.rb
327
+ - spec/services/interaction_types_service_spec.rb
328
+ - spec/services/item_analyses_service_spec.rb
329
+ - spec/services/items_service_spec.rb
330
+ - spec/services/jwt_service_spec.rb
331
+ - spec/services/qti_imports_service_spec.rb
332
+ - spec/services/quiz_analyses_service_spec.rb
333
+ - spec/services/quiz_clone_job_service_spec.rb
334
+ - spec/services/quiz_clone_jobs_service_spec.rb
335
+ - spec/services/quiz_entries_service_spec.rb
336
+ - spec/services/quiz_service_spec.rb
337
+ - spec/services/quiz_session_events_service_spec.rb
338
+ - spec/services/quiz_session_result_service_spec.rb
339
+ - spec/services/quiz_session_service_spec.rb
340
+ - spec/services/quiz_sessions_service_spec.rb
341
+ - spec/services/quizzes_service_spec.rb
342
+ - spec/services/session_item_results_service_spec.rb
343
+ - spec/services/session_items_service_spec.rb
344
+ - spec/spec_helper.rb
345
+ - spec/support/pact_config.rb
346
+ - spec/support/pact_helper.rb
data/.dockerignore DELETED
@@ -1,7 +0,0 @@
1
- /.gitignore
2
- /.ruby-version
3
- /coverage
4
- /docker-compose.*
5
- /Dockerfile*
6
- /Gemfile.lock
7
- /**/*.gem
data/.editorconfig DELETED
@@ -1,16 +0,0 @@
1
- # .editorconfig
2
- # Please install EditorConfig plugin for your editor or IDE
3
- # Usage and plugin list can be found here: http://EditorConfig.org
4
-
5
- # top-most EditorConfig file
6
- root = true
7
-
8
- [*]
9
- end_of_line = lf
10
- indent_style = space
11
- indent_size = 2
12
- insert_final_newline = true
13
- trim_trailing_whitespace = true
14
-
15
- [*.md]
16
- indent_size = 4
data/.gitignore DELETED
@@ -1,13 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /.ruby-version
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /docker-compose.override.yml
8
- /Gemfile.lock
9
- /log/
10
- /pacts/
11
- /pkg/
12
- /spec/reports/
13
- /tmp/
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --require spec_helper
2
- --format documentation
3
- --color
data/.rubocop.yml DELETED
@@ -1,72 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.6
3
-
4
- Metrics/ClassLength:
5
- Max: 200 # Default: 100
6
-
7
- Metrics/LineLength:
8
- Max: 120 # Default: 80
9
-
10
- Metrics/MethodLength:
11
- Max: 20 # Default: 10
12
-
13
- Metrics/BlockLength:
14
- Max: 30
15
- Exclude:
16
- - quiz_api_client.gemspec
17
- - spec/**/*.rb
18
-
19
- Naming/MemoizedInstanceVariableName:
20
- EnforcedStyleForLeadingUnderscores: required
21
-
22
- Layout/AlignParameters:
23
- # Alignment of parameters in multi-line method calls.
24
- #
25
- # The `with_fixed_indentation` style aligns the following lines with one
26
- # level of indentation relative to the start of the line with the method call.
27
- #
28
- # method_call(a,
29
- # b)
30
- EnforcedStyle: with_fixed_indentation
31
-
32
- Layout/CaseIndentation:
33
- EnforcedStyle: end
34
-
35
- Layout/EndAlignment:
36
- EnforcedStyleAlignWith: variable
37
-
38
- Style/ClassAndModuleChildren:
39
- # Checks the style of children definitions at classes and modules.
40
- #
41
- # Basically there are two different styles:
42
- #
43
- # `nested` - have each child on a separate line
44
- # class Foo
45
- # class Bar
46
- # end
47
- # end
48
- #
49
- # `compact` - combine definitions as much as possible
50
- # class Foo::Bar
51
- # end
52
- #
53
- # The compact style is only forced, for classes / modules with one child.
54
- EnforcedStyle: nested
55
- Enabled: false
56
-
57
- Style/Documentation:
58
- # This cop checks for missing top-level documentation of classes and modules.
59
- # Classes with no body and namespace modules are exempt from the check.
60
- # Namespace modules are modules that have nothing in their bodies except
61
- # classes or other modules.
62
- Enabled: false
63
-
64
- Style/FrozenStringLiteralComment:
65
- # `always` will always add the frozen string literal comment to a file
66
- # regardless of the Ruby version or if `freeze` or `<<` are called on a
67
- # string literal. If you run code against multiple versions of Ruby, it is
68
- # possible that this will create errors in Ruby 2.3.0+.
69
- #
70
- # See: https://wyeworks.com/blog/2015/12/1/immutable-strings-in-ruby-2-dot-3
71
- EnforcedStyle: always
72
- Enabled: false
data/CHANGELOG.md DELETED
@@ -1,35 +0,0 @@
1
- CHANGELOG
2
- =========
3
-
4
- All notable changes to this project will be documented in this file. This
5
- project adheres to [Semantic Versioning](http://semver.org/).
6
-
7
- [TOC]
8
-
9
- #TODO: Enter the date
10
- ## 4.2.0 ()
11
-
12
- ### Changed
13
- * Internal refactor of request error handling
14
- * Added `metric_handler` and `metrics_namespace` to work with InstStatsd gem
15
-
16
- ## 4.1.0 (2021-10-27)
17
-
18
- ### Breaking changes (potentially)
19
-
20
- * All non-successful (2xx) responses will raise `QuizApiClient::HttpClient::RequestFailed` error except for 401 and 422
21
- * Can be overridden in `allowable_response_codes` config
22
-
23
- ## 4.0.0 (2021-10-18)
24
-
25
- ### Breaking changes
26
-
27
- * Ruby 2.4.x is no longer supported
28
- * Ruby 2.5.x is no longer supported
29
-
30
- ### Changed
31
- * Minimum Ruby version to 2.6.x
32
- * Internal classes use a configuration object instead parameters on instantiation
33
- * Instantiating `QuizApiClient::Client` remains the same
34
- * Added `error_handler` configuration to work with Sentry Raven gem
35
-
data/Dockerfile DELETED
@@ -1,12 +0,0 @@
1
- FROM instructure/rvm
2
-
3
- RUN mkdir -p coverage log pacts
4
-
5
- COPY --chown=docker:docker quiz_api_client.gemspec Gemfile ./
6
- COPY --chown=docker:docker lib/quiz_api_client/version.rb lib/quiz_api_client/version.rb
7
- RUN /bin/bash -l -c "rvm-exec 2.6 gem install bundler -v 2.1.4"
8
- RUN /bin/bash -l -c "rvm-exec 2.6 bundle install --jobs 5"
9
-
10
- COPY --chown=docker:docker . .
11
-
12
- CMD /bin/bash -l -c "rvm-exec 2.6 bundle exec rspec"
data/Gemfile DELETED
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- gem 'pry'
data/Jenkinsfile DELETED
@@ -1,86 +0,0 @@
1
- def buildMatrix = ['2.6', '2.7'].collectEntries { ruby ->
2
- ["Ruby ${ruby}": {
3
- sh """
4
- docker-compose run --name "${env.BUILD_ID}-ruby-${ruby}" \
5
- app /bin/bash -lc "rvm-exec ${ruby} bundle install --jobs 5 && rvm-exec ${ruby} bundle exec rspec"
6
- """
7
- }]
8
- }
9
-
10
- pipeline {
11
- agent {
12
- label 'docker'
13
- }
14
- options {
15
- buildDiscarder(logRotator(numToKeepStr: '50'))
16
- timeout(time: 20, unit: 'MINUTES')
17
- }
18
- stages {
19
- stage('Build') {
20
- steps {
21
- sh 'docker-compose build --pull'
22
- }
23
- }
24
- stage('Lint') {
25
- steps {
26
- sh '''
27
- docker-compose run --rm app /bin/bash -lc \
28
- "rvm-exec 2.6 bundle exec rubocop --fail-level autocorrect"
29
- '''
30
- }
31
- }
32
- stage('Unit Tests') {
33
- steps { script { parallel buildMatrix } }
34
- }
35
- stage('Contract Tests') {
36
- steps {
37
- sh 'docker-compose run app /bin/bash -l -c "rvm-exec 2.6 bundle exec rspec -t pact"'
38
- }
39
- }
40
- stage ('Publish') {
41
- when { environment name: "GERRIT_EVENT_TYPE", value: "change-merged"}
42
- environment {
43
- PACT_BROKER_PASSWORD = credentials('pact_broker_password')
44
- JENKINS_URL = "${env.JENKINS_URL}"
45
- PACT_CONSUMER_TAG = 'master'
46
- PACT_BROKER_USERNAME = 'quizzes'
47
- PACT_BROKER_HOST = 'inst-pact-broker.inseng.net'
48
- }
49
- steps {
50
- script {
51
- sh '''
52
- sha="$(git rev-parse --short HEAD)"
53
-
54
- docker-compose run --rm \
55
- -e JENKINS_URL="${JENKINS_URL}" \
56
- -e PACT_BROKER_HOST="${PACT_BROKER_HOST}" \
57
- -e PACT_BROKER_USERNAME="${PACT_BROKER_USERNAME}" \
58
- -e PACT_BROKER_PASSWORD="${PACT_BROKER_PASSWORD}" \
59
- -e PACT_CONSUMER_TAG="${PACT_CONSUMER_TAG}" \
60
- -e SHA="${sha}" \
61
- app /bin/bash -l -c "rvm-exec 2.6 bundle exec rake broker:pact:publish:jenkins_post_merge"
62
- '''
63
- }
64
- }
65
- }
66
- }
67
-
68
- post {
69
- success {
70
- sh "docker cp \"${env.BUILD_ID}-ruby-2.6:/usr/src/app/coverage\" ."
71
- publishHTML target: [
72
- allowMissing: false,
73
- alwaysLinkToLastBuild: false,
74
- keepAll: true,
75
- reportDir: "coverage",
76
- reportFiles: 'index.html',
77
- reportName: 'Coverage Report'
78
- ]
79
- }
80
- cleanup { // Always runs after all other post conditions=
81
- sh 'docker-compose kill'
82
- sh 'docker-compose rm -f'
83
- sh 'docker images -qf "dangling=true" | xargs docker rmi -f &>/dev/null'
84
- }
85
- }
86
- }
data/bin/console DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'bundler/setup'
4
- require 'quiz_api_client'
5
- require 'irb'
6
-
7
- IRB.start
@@ -1,26 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- function print_results() {
4
- exit_code=$?
5
- set +e
6
-
7
- if [[ "$exit_code" == "0" ]]; then
8
- echo "Success! Open http://pact-broker.docker to view your published pact file."
9
- else
10
- echo "Oops! Something went wrong."
11
- fi
12
-
13
- docker cp contracts:/usr/src/app/log . &> /dev/null
14
- docker cp contracts:/usr/src/app/pacts . &> /dev/null
15
- docker rm -f contracts &> /dev/null
16
-
17
- docker-compose rm -fv app &> /dev/null
18
- }
19
- trap print_results INT TERM EXIT
20
- set -e
21
-
22
- rm -rf pacts
23
- sha="$(git rev-parse --short HEAD)"
24
-
25
- docker-compose run --name contracts -e SHA="${sha}" app bash -l -c \
26
- "bundle && bundle exec rspec --tag pact && bundle exec rake broker:pact:publish:local"
data/bin/setup DELETED
@@ -1,65 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- function print_results() {
4
- exit_code=$?
5
- set +e
6
-
7
- echo ""
8
-
9
- if [[ "$exit_code" == "0" ]]; then
10
- echo "Success!"
11
- else
12
- echo "Something went wrong! Check the output above for details."
13
- fi
14
- }
15
- trap print_results INT TERM EXIT
16
- set -e
17
-
18
- OSNAME=$(uname | tr "[:upper:]" "[:lower:]")
19
-
20
- function generate_docker_override_os () {
21
- sed -E "s/#(.*# ${OSNAME}$)/\1/"
22
- }
23
-
24
- function generate_docker_override_filesystem () {
25
- if [ -z "${IGNORE_FILESYSTEM_OVERRIDE}" ]; then
26
- sed -E "s/#(.*# ${OSNAME}:fs)/\1/"
27
- else
28
- cat
29
- fi
30
- }
31
-
32
- function generate_docker_override() {
33
- if [ -e docker-compose.override.yml ]; then
34
- echo "We found an existing docker-compose.override.yml"
35
- echo ""
36
- echo "You'll want to merge that file with the version controlled
37
- docker-compose.dev.override.yml file to make sure you've got
38
- the most recent changes"
39
- echo ""
40
- else
41
- echo "we are building the development example override file to docker-compose.override.yml for you"
42
- generate_docker_override_os < docker-compose.dev.override.yml | \
43
- generate_docker_override_filesystem > docker-compose.override.yml
44
- fi
45
- }
46
-
47
- function os_linux_specific_setup() {
48
- mkdir -p log pacts
49
- }
50
-
51
- os_specific_setup() {
52
- echo Configuring for "${OSNAME}"
53
- case ${OSNAME} in
54
- linux)
55
- os_linux_specific_setup
56
- ;;
57
- esac
58
- }
59
-
60
- os_specific_setup
61
- generate_docker_override
62
-
63
- echo ""
64
- echo "Preparing environment for native development..."
65
- bundle install
@@ -1,11 +0,0 @@
1
- version: '3.5'
2
-
3
- services:
4
- app:
5
- # This port doesn't exist, but doing this tricks Dory proxy into hooking up
6
- # the container so it can actually talk to the Pact Broker.
7
- expose: [8080]
8
- external_links:
9
- - ${PROXY_CONTAINER:-dinghy_http_proxy}:pact-broker.docker
10
- volumes:
11
- - .:/usr/src/app
data/docker-compose.yml DELETED
@@ -1,10 +0,0 @@
1
- version: '3.5'
2
-
3
- services:
4
- app:
5
- build: .
6
- volumes:
7
- - pacts:/usr/src/app/pacts
8
-
9
- volumes:
10
- pacts: {}
@@ -1,60 +0,0 @@
1
- lib = File.expand_path('lib', __dir__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'quiz_api_client/version'
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = 'quiz_api_client'
7
- spec.version = QuizApiClient::VERSION
8
- spec.authors = [
9
- 'Chris Wang',
10
- 'Augusto Callejas',
11
- 'Bryan Petty',
12
- 'Christian Prescott',
13
- 'Han Yan',
14
- 'Jayce Higgins',
15
- 'Marc Alan Phillips',
16
- 'Mark Starkman',
17
- 'Michael Brewer-Davis',
18
- 'Michael Hargiss',
19
- 'Omar Khan',
20
- 'Robin Kuss',
21
- 'Ryan Taylor'
22
- ]
23
- spec.email = [
24
- 'acallejas@instructure.com',
25
- 'bpetty@instructure.com',
26
- 'cprescott@instructure.com',
27
- 'hyan@instructure.com',
28
- 'jhiggins@instructure.com',
29
- 'mphillips@instructure.com',
30
- 'mark.starkman@instructure.com',
31
- 'mbd@instructure.com',
32
- 'mhargiss@instructure.com',
33
- 'okhan@instructure.com',
34
- 'rkuss@instructure.com',
35
- 'rtaylor@instructure.com',
36
- 'cwang@instructure.com'
37
- ]
38
- spec.summary = 'Ruby client for quiz_api'
39
-
40
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
41
- spec.bindir = 'exe'
42
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
43
- spec.require_paths = ['lib']
44
-
45
- spec.required_ruby_version = '>= 2.6'
46
-
47
- spec.add_dependency 'httparty', '~> 0.17'
48
- spec.add_dependency 'jwt', '~> 2.2'
49
- spec.add_dependency 'link_header', '~> 0.0'
50
-
51
- spec.add_development_dependency 'inst_statsd'
52
- spec.add_development_dependency 'pact', '~> 1.41'
53
- spec.add_development_dependency 'pact_broker-client', '~> 1.19'
54
- spec.add_development_dependency 'rake', '~> 12.3'
55
- spec.add_development_dependency 'rspec', '~> 3.8'
56
- spec.add_development_dependency 'rubocop', '~> 0.74.0'
57
- spec.add_development_dependency 'sentry-raven', '~> 3.1'
58
- spec.add_development_dependency 'simplecov'
59
- spec.add_development_dependency 'webmock'
60
- end