quiz_api_client 2.4.2 → 2.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 019fb5be46485bfe51fa89b86e237dd860dde74f
4
- data.tar.gz: cb8c846ad17c8c6d54e21e316d0f9bab8ffe17f4
3
+ metadata.gz: f6be53ea487e4dde2bf8f57ceda6bcc0e28f1203
4
+ data.tar.gz: dcc4cbdced4de27dab3a0f2b9ff826028b282360
5
5
  SHA512:
6
- metadata.gz: c7f0d24d1b650dadf17a88bffc65439b741bc855d4c3d85cf8381d84d3ecb4e6a3832cac96324c7e5b348d1777c596e9fb1afcb496d1d4c1b7bfde8d19a6e473
7
- data.tar.gz: 6de74ac09879a9d567de198d6c316ae96548df3f6b15f538bc7cec3ca173ad82f036577dc704d44eb1f76951229f930165180f33a45bc02cd68d8616fcb690c1
6
+ metadata.gz: 5949cfe9e2580614676224ab87e90ef0598a84aa2e9edb2506ae98a42b13e89c0205f1ec14ba947099d1578f3cba8dc77f430b216aeb355cbebdceb0b61cebff
7
+ data.tar.gz: 6ae2b643918ab843bbfc46c25af37034b8cf6dca31ae75f0725ea7beb84fb67b2126ba565194190225fca4878a8cec4a36b6fccc360bb37eb230ca5f3fa0f1df
data/.rubocop.yml CHANGED
@@ -1,10 +1,3 @@
1
- Rails:
2
- Enabled: true
3
-
4
- Rails/HttpPositionalArguments:
5
- # Renable once we are on Rails v5
6
- Enabled: false
7
-
8
1
  AllCops:
9
2
  TargetRubyVersion: 2.3
10
3
 
@@ -20,11 +13,10 @@ Metrics/MethodLength:
20
13
  Metrics/BlockLength:
21
14
  Max: 30
22
15
  Exclude:
23
- - 'spec/**/*.rb'
24
- - 'config/routes.rb'
25
- - 'app/docs/**/*.rb'
16
+ - quiz_api_client.gemspec
17
+ - spec/**/*.rb
26
18
 
27
- Style/AlignParameters:
19
+ Layout/AlignParameters:
28
20
  # Alignment of parameters in multi-line method calls.
29
21
  #
30
22
  # The `with_fixed_indentation` style aligns the following lines with one
@@ -34,6 +26,12 @@ Style/AlignParameters:
34
26
  # b)
35
27
  EnforcedStyle: with_fixed_indentation
36
28
 
29
+ Layout/CaseIndentation:
30
+ EnforcedStyle: end
31
+
32
+ Lint/EndAlignment:
33
+ EnforcedStyleAlignWith: variable
34
+
37
35
  Style/ClassAndModuleChildren:
38
36
  # Checks the style of children definitions at classes and modules.
39
37
  #
@@ -60,12 +58,6 @@ Style/Documentation:
60
58
  # classes or other modules.
61
59
  Enabled: false
62
60
 
63
- Lint/EndAlignment:
64
- AlignWith: variable
65
-
66
- Style/CaseIndentation:
67
- IndentWhenRelativeTo: end
68
-
69
61
  Style/FrozenStringLiteralComment:
70
62
  # `when_needed` will add the frozen string literal comment to files
71
63
  # only when the `TargetRubyVersion` is set to 2.3+.
data/Dockerfile CHANGED
@@ -9,7 +9,7 @@ USER root
9
9
  RUN chown -R docker:docker /app
10
10
 
11
11
  USER docker
12
- RUN /bin/bash -l -c "cd /app && rvm-exec 2.4 bundle install --jobs 5"
12
+ RUN /bin/bash -l -c "rvm-exec 2.4 bundle install --jobs 5"
13
13
  COPY . /app
14
14
  RUN rm -f Gemfile.lock
15
15
 
data/README.md CHANGED
@@ -174,9 +174,9 @@ client.quiz_session_events_service.list(
174
174
 
175
175
  After checking out the repo, run `bin/setup` to install dependencies.
176
176
 
177
- Then, run `rake spec` to run the tests.
177
+ Then, run `bundle exec rake spec` to run the tests.
178
178
 
179
- You can also run `rake console` for an interactive prompt that will allow you to experiment.
179
+ You can also run `bundle exec rake console` for an interactive prompt that will allow you to experiment.
180
180
 
181
181
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
182
182
 
data/build.sh CHANGED
@@ -24,6 +24,11 @@ function cleanup() {
24
24
  trap cleanup INT TERM EXIT
25
25
 
26
26
  docker-compose build --pull
27
+
28
+ echo "Running Rubocop..."
29
+ docker-compose run --rm testrunner /bin/bash -lc \
30
+ "rvm-exec 2.4 bundle exec rubocop --fail-level autocorrect"
31
+
27
32
  echo "Running test suite..."
28
33
  docker-compose run --name coverage testrunner $@
29
34
 
@@ -46,13 +46,15 @@ module QuizApiClient
46
46
 
47
47
  def initialize_logger(log_level)
48
48
  HTTParty::Logger.add_formatter('quiz_api_client_json_formatter', QuizApiClient::JSONFormatter)
49
- @logger = ::Logger.new(STDOUT,
50
- formatter: proc {|_,_,_,msg| msg.merge({consumer_request_id: @consumer_request_id}).to_json },
51
- level: unfriendly_logger_level(log_level)
52
- )
53
- @logger_config = { logger: @logger,
54
- log_level: log_level,
55
- log_format: :quiz_api_client_json_formatter
49
+ @logger = ::Logger.new(
50
+ STDOUT,
51
+ formatter: proc { |_, _, _, msg| msg.merge(consumer_request_id: @consumer_request_id).to_json },
52
+ level: unfriendly_logger_level(log_level)
53
+ )
54
+ @logger_config = {
55
+ logger: @logger,
56
+ log_level: log_level,
57
+ log_format: :quiz_api_client_json_formatter
56
58
  }
57
59
  end
58
60
 
@@ -83,9 +85,10 @@ module QuizApiClient
83
85
 
84
86
  def make_paginated_request(method, url, options)
85
87
  entities = []
86
- request_url, request_options = url, options
88
+ request_url = url
89
+ request_options = options
87
90
 
88
- until request_url.nil? do
91
+ until request_url.nil?
89
92
  resp = make_request(method, request_url, request_options)
90
93
  entities.concat(resp.parsed_response)
91
94
  request_url, request_options = next_page(resp, url, options)
@@ -114,7 +117,7 @@ module QuizApiClient
114
117
  end
115
118
 
116
119
  def next_page_link(response, options)
117
- return unless response.headers['link'].present?
120
+ return if response.headers['link'].blank?
118
121
  links = LinkHeader.parse(response.headers['link']).links
119
122
  next_link = links.find { |link| link['rel'] == 'next' }
120
123
  [next_link.href, options] if next_link
@@ -129,7 +132,7 @@ module QuizApiClient
129
132
  last_evaluated_hash_key: hash_key,
130
133
  last_evaluated_range_key: range_key
131
134
  )
132
- [ url, options.merge(query: query) ]
135
+ [url, options.merge(query: query)]
133
136
  end
134
137
  end
135
138
  end
@@ -6,13 +6,12 @@ module QuizApiClient
6
6
  end
7
7
 
8
8
  def format(request, response)
9
- @logger.send(@level, {
9
+ @logger.send(
10
+ @level,
10
11
  client_request_id: response.headers.dig('x-request-id', 0),
11
12
  request_url: request.last_uri,
12
13
  response_code: response.code
13
- })
14
+ )
14
15
  end
15
16
  end
16
17
  end
17
-
18
-
@@ -1,16 +1,16 @@
1
1
  module QuizApiClient::Services
2
2
  class BaseApiService
3
- attr_reader :consumer_key, :host, :shared_secret,
4
- :protocol, :errors
3
+ attr_reader :consumer_key, :errors, :host, :protocol, :shared_secret
5
4
 
6
- def initialize(consumer_key:, host:,
7
- shared_secret:, protocol: 'https', consumer_request_id: nil)
5
+ def initialize(
6
+ consumer_key:, consumer_request_id: nil, host:, protocol: 'https', shared_secret:
7
+ )
8
8
  @consumer_key = consumer_key
9
+ @consumer_request_id = consumer_request_id
9
10
  @host = host
10
- @shared_secret = shared_secret
11
11
  @protocol = protocol
12
+ @shared_secret = shared_secret
12
13
  @errors = []
13
- @consumer_request_id = consumer_request_id
14
14
  end
15
15
 
16
16
  private
@@ -9,10 +9,12 @@ module QuizApiClient::Services
9
9
  private
10
10
 
11
11
  def get_from_quiz_api(params:, token:, all:)
12
- client(token: token).get(
13
- "/api/quiz_sessions/#{params[:quiz_session_id]}/results/#{params[:quiz_session_result_id]}/session_item_results",
14
- all: all
12
+ path = format(
13
+ '/api/quiz_sessions/%<session>d/results/%<result>d/session_item_results',
14
+ session: params[:quiz_session_id],
15
+ result: params[:quiz_session_result_id]
15
16
  )
17
+ client(token: token).get(path, all: all)
16
18
  end
17
19
  end
18
20
  end
@@ -1,3 +1,3 @@
1
1
  module QuizApiClient
2
- VERSION = '2.4.2'.freeze
2
+ VERSION = '2.4.3'.freeze
3
3
  end
@@ -1,4 +1,3 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'quiz_api_client/version'
@@ -20,7 +19,7 @@ Gem::Specification.new do |spec|
20
19
  'Robin Kuss',
21
20
  'Ryan Taylor'
22
21
  ]
23
- spec.email = [
22
+ spec.email = [
24
23
  'acallejas@instructure.com',
25
24
  'bpetty@instructure.com',
26
25
  'cprescott@instructure.com',
@@ -41,15 +40,18 @@ Gem::Specification.new do |spec|
41
40
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
42
41
  spec.require_paths = ['lib']
43
42
 
44
- spec.add_dependency 'httparty', '0.14.0'
45
- spec.add_dependency 'jwt', '~> 1.5'
46
- spec.add_dependency 'link_header'
43
+ spec.required_ruby_version = '>= 2.3'
47
44
 
48
- spec.add_development_dependency 'bundler', '~> 1.12'
49
- spec.add_development_dependency 'simplecov'
50
- spec.add_development_dependency 'webmock'
45
+ spec.add_dependency 'httparty', '~> 0.14.0'
46
+ spec.add_dependency 'jwt', '>= 1.5', '< 3.0'
47
+ spec.add_dependency 'link_header', '~> 0.0'
48
+
49
+ spec.add_development_dependency 'bundler', '~> 1.15'
51
50
  spec.add_development_dependency 'pact', '~> 1.19.2'
52
51
  spec.add_development_dependency 'pact_broker-client', '~> 1.13.1'
53
- spec.add_development_dependency 'rake', '~> 10.0'
54
- spec.add_development_dependency 'rspec', '~> 3.0'
52
+ spec.add_development_dependency 'rake', '~> 12.0'
53
+ spec.add_development_dependency 'rspec', '~> 3.7'
54
+ spec.add_development_dependency 'rubocop', '~> 0.52.1'
55
+ spec.add_development_dependency 'simplecov'
56
+ spec.add_development_dependency 'webmock'
55
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quiz_api_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.2
4
+ version: 2.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Wang
@@ -19,148 +19,168 @@ authors:
19
19
  autorequire:
20
20
  bindir: exe
21
21
  cert_chain: []
22
- date: 2017-12-07 00:00:00.000000000 Z
22
+ date: 2018-02-14 00:00:00.000000000 Z
23
23
  dependencies:
24
24
  - !ruby/object:Gem::Dependency
25
25
  name: httparty
26
26
  requirement: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - '='
28
+ - - "~>"
29
29
  - !ruby/object:Gem::Version
30
30
  version: 0.14.0
31
31
  type: :runtime
32
32
  prerelease: false
33
33
  version_requirements: !ruby/object:Gem::Requirement
34
34
  requirements:
35
- - - '='
35
+ - - "~>"
36
36
  - !ruby/object:Gem::Version
37
37
  version: 0.14.0
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: jwt
40
40
  requirement: !ruby/object:Gem::Requirement
41
41
  requirements:
42
- - - "~>"
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  version: '1.5'
45
+ - - "<"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
45
48
  type: :runtime
46
49
  prerelease: false
47
50
  version_requirements: !ruby/object:Gem::Requirement
48
51
  requirements:
49
- - - "~>"
52
+ - - ">="
50
53
  - !ruby/object:Gem::Version
51
54
  version: '1.5'
55
+ - - "<"
56
+ - !ruby/object:Gem::Version
57
+ version: '3.0'
52
58
  - !ruby/object:Gem::Dependency
53
59
  name: link_header
54
60
  requirement: !ruby/object:Gem::Requirement
55
61
  requirements:
56
- - - ">="
62
+ - - "~>"
57
63
  - !ruby/object:Gem::Version
58
- version: '0'
64
+ version: '0.0'
59
65
  type: :runtime
60
66
  prerelease: false
61
67
  version_requirements: !ruby/object:Gem::Requirement
62
68
  requirements:
63
- - - ">="
69
+ - - "~>"
64
70
  - !ruby/object:Gem::Version
65
- version: '0'
71
+ version: '0.0'
66
72
  - !ruby/object:Gem::Dependency
67
73
  name: bundler
68
74
  requirement: !ruby/object:Gem::Requirement
69
75
  requirements:
70
76
  - - "~>"
71
77
  - !ruby/object:Gem::Version
72
- version: '1.12'
78
+ version: '1.15'
73
79
  type: :development
74
80
  prerelease: false
75
81
  version_requirements: !ruby/object:Gem::Requirement
76
82
  requirements:
77
83
  - - "~>"
78
84
  - !ruby/object:Gem::Version
79
- version: '1.12'
85
+ version: '1.15'
80
86
  - !ruby/object:Gem::Dependency
81
- name: simplecov
87
+ name: pact
82
88
  requirement: !ruby/object:Gem::Requirement
83
89
  requirements:
84
- - - ">="
90
+ - - "~>"
85
91
  - !ruby/object:Gem::Version
86
- version: '0'
92
+ version: 1.19.2
87
93
  type: :development
88
94
  prerelease: false
89
95
  version_requirements: !ruby/object:Gem::Requirement
90
96
  requirements:
91
- - - ">="
97
+ - - "~>"
92
98
  - !ruby/object:Gem::Version
93
- version: '0'
99
+ version: 1.19.2
94
100
  - !ruby/object:Gem::Dependency
95
- name: webmock
101
+ name: pact_broker-client
96
102
  requirement: !ruby/object:Gem::Requirement
97
103
  requirements:
98
- - - ">="
104
+ - - "~>"
99
105
  - !ruby/object:Gem::Version
100
- version: '0'
106
+ version: 1.13.1
101
107
  type: :development
102
108
  prerelease: false
103
109
  version_requirements: !ruby/object:Gem::Requirement
104
110
  requirements:
105
- - - ">="
111
+ - - "~>"
106
112
  - !ruby/object:Gem::Version
107
- version: '0'
113
+ version: 1.13.1
108
114
  - !ruby/object:Gem::Dependency
109
- name: pact
115
+ name: rake
110
116
  requirement: !ruby/object:Gem::Requirement
111
117
  requirements:
112
118
  - - "~>"
113
119
  - !ruby/object:Gem::Version
114
- version: 1.19.2
120
+ version: '12.0'
115
121
  type: :development
116
122
  prerelease: false
117
123
  version_requirements: !ruby/object:Gem::Requirement
118
124
  requirements:
119
125
  - - "~>"
120
126
  - !ruby/object:Gem::Version
121
- version: 1.19.2
127
+ version: '12.0'
122
128
  - !ruby/object:Gem::Dependency
123
- name: pact_broker-client
129
+ name: rspec
124
130
  requirement: !ruby/object:Gem::Requirement
125
131
  requirements:
126
132
  - - "~>"
127
133
  - !ruby/object:Gem::Version
128
- version: 1.13.1
134
+ version: '3.7'
129
135
  type: :development
130
136
  prerelease: false
131
137
  version_requirements: !ruby/object:Gem::Requirement
132
138
  requirements:
133
139
  - - "~>"
134
140
  - !ruby/object:Gem::Version
135
- version: 1.13.1
141
+ version: '3.7'
136
142
  - !ruby/object:Gem::Dependency
137
- name: rake
143
+ name: rubocop
138
144
  requirement: !ruby/object:Gem::Requirement
139
145
  requirements:
140
146
  - - "~>"
141
147
  - !ruby/object:Gem::Version
142
- version: '10.0'
148
+ version: 0.52.1
143
149
  type: :development
144
150
  prerelease: false
145
151
  version_requirements: !ruby/object:Gem::Requirement
146
152
  requirements:
147
153
  - - "~>"
148
154
  - !ruby/object:Gem::Version
149
- version: '10.0'
155
+ version: 0.52.1
150
156
  - !ruby/object:Gem::Dependency
151
- name: rspec
157
+ name: simplecov
152
158
  requirement: !ruby/object:Gem::Requirement
153
159
  requirements:
154
- - - "~>"
160
+ - - ">="
155
161
  - !ruby/object:Gem::Version
156
- version: '3.0'
162
+ version: '0'
157
163
  type: :development
158
164
  prerelease: false
159
165
  version_requirements: !ruby/object:Gem::Requirement
160
166
  requirements:
161
- - - "~>"
167
+ - - ">="
162
168
  - !ruby/object:Gem::Version
163
- version: '3.0'
169
+ version: '0'
170
+ - !ruby/object:Gem::Dependency
171
+ name: webmock
172
+ requirement: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
+ type: :development
178
+ prerelease: false
179
+ version_requirements: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
164
184
  description:
165
185
  email:
166
186
  - acallejas@instructure.com
@@ -225,7 +245,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
225
245
  requirements:
226
246
  - - ">="
227
247
  - !ruby/object:Gem::Version
228
- version: '0'
248
+ version: '2.3'
229
249
  required_rubygems_version: !ruby/object:Gem::Requirement
230
250
  requirements:
231
251
  - - ">="
@@ -233,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
253
  version: '0'
234
254
  requirements: []
235
255
  rubyforge_project:
236
- rubygems_version: 2.6.13
256
+ rubygems_version: 2.6.11
237
257
  signing_key:
238
258
  specification_version: 4
239
259
  summary: Ruby client for quiz_api