roqua-rom-api 3.0.1 → 3.0.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
  SHA256:
3
- metadata.gz: 477f788af8448ee3fa2a41f20352eef3328dc09e712671437db727ea80da013d
4
- data.tar.gz: 5067b2d36c85318641c47dfc7f7ae53e52257448b5de0fcf66ed4f2b928b6c06
3
+ metadata.gz: 7e4cbc3256f5ae1f1cc8925aeddd23a062557f5f31b88d17908e5856d4ff22f5
4
+ data.tar.gz: e7202043808f8d9993729a94e5adc4369830ad43bb2cb4a720d012d5c647128c
5
5
  SHA512:
6
- metadata.gz: 17dd22e0f74ec2d4e47e816f0f7d103691ce14266411ce3db3f140a363e4c24c0c9c4a3b72329b8d90aa61b652914555392474e14b8f4081a7c0bbc43c50c30b
7
- data.tar.gz: edfd436ed08cc2df027f8369d54f1d056c02fdcb7d1279aef3f7bddc7ef75d3deffc213c1bc7858d79501c97de820c39f76ef818ef1aec93dad7d2b982dd8471
6
+ metadata.gz: d1769591f3affdddcc516c07d965603f4effd9470b9c7e0db6ec05422df5e0dd3d3be0c9383e0ca1e6544c65a3fc9e79a9ffdfaaefbeaff74f72937ef77fbe75
7
+ data.tar.gz: 139002940dfab95e73caa7678102b7edf32f15df2230c0b306fa309d7adb766c00df6ae634717a18d3647bee7872a983449ec844c71dfac10591e855d7666cba
@@ -11,7 +11,7 @@ nl:
11
11
  base:
12
12
  protocol_must_be_automatic: Het protocol is niet geautomatiseerd.
13
13
  protocol_scheduler_options_invalid: Het protocol is verkeerd ingesteld.
14
- patient_id_taken: Dit dossier is reeds geabonneerd op dit protocol.
14
+ respondent_taken: Dit dossier is reeds geabonneerd op dit protocol.
15
15
  flag_does_not_exist: Een van de opgegeven vlaggen bestaat niet.
16
16
  flag_value_invalid: Een van de opgegeven vlaggen bevat een waarde anders dan true, false of nil.
17
17
  text_message_template_blank: Er is geen SMS-template beschikbaar voor het protocol.
@@ -0,0 +1,16 @@
1
+ module Roqua
2
+ module RomApi
3
+ # @api private
4
+ class ListAutoProtocols < Endpoint
5
+ def execute
6
+ validate_response_for do
7
+ basic_auth_session.get "/auto_protocols"
8
+ end
9
+ end
10
+
11
+ def response_to_result(response)
12
+ response.map { |r| Models::AutoProtocol.new(r) }
13
+ end
14
+ end
15
+ end
16
+ end
@@ -18,13 +18,14 @@ module Roqua
18
18
  end
19
19
 
20
20
  def filter_params
21
- {response_ids: response_ids,
22
- respondent_type: respondent_type,
23
- status: status,
24
- questionnaire_keys: questionnaire_keys,
25
- completed_after: completed_after,
26
- completed_before: completed_before,
27
- protocol_subscription_id: protocol_subscription_id
21
+ {
22
+ response_ids: response_ids,
23
+ respondent_type: respondent_type,
24
+ status: status,
25
+ questionnaire_keys: questionnaire_keys,
26
+ completed_after: completed_after,
27
+ completed_before: completed_before,
28
+ protocol_subscription_id: protocol_subscription_id
28
29
  }.keep_if { |_k, v| v.present? }
29
30
  end
30
31
 
@@ -0,0 +1,27 @@
1
+ require 'virtus'
2
+
3
+ module Roqua
4
+ module RomApi
5
+ module Models
6
+ class AutoProtocol
7
+ include Virtus.model
8
+
9
+ # @!attribute [r] id
10
+ # @return [Integer]
11
+ attribute :id, Integer
12
+ # @!attribute key
13
+ # @return [String]
14
+ attribute :key, String
15
+ # @!attribute name
16
+ # @return [String]
17
+ attribute :name, String
18
+ # @!attribute description
19
+ # @return [String]
20
+ attribute :description, String
21
+ # @!attribute active
22
+ # @return [Boolean]
23
+ attribute :active, Boolean
24
+ end
25
+ end
26
+ end
27
+ end
@@ -15,8 +15,8 @@ module Roqua
15
15
  attribute :questions, Hash
16
16
  attribute :scores, Hash
17
17
  attribute :sbg_info, Hash
18
- attribute :textvars, Hash
19
- attribute :flags, Hash
18
+ attribute :textvars, Array
19
+ attribute :flags, Array
20
20
  attribute :charts, Array
21
21
  end
22
22
  end
@@ -6,6 +6,7 @@ require 'roqua/rom_api/models/measurement_sequence'
6
6
  require 'roqua/rom_api/models/questionnaire'
7
7
  require 'roqua/rom_api/models/measurement'
8
8
  require 'roqua/rom_api/models/protocol'
9
+ require 'roqua/rom_api/models/auto_protocol'
9
10
  require 'roqua/rom_api/models/dossier_stats'
10
11
  require 'roqua/rom_api/models/stats'
11
12
  require 'roqua/rom_api/models/non_response'
@@ -3,8 +3,8 @@ require 'roqua/rom_api/sessions/basic_auth_session'
3
3
 
4
4
  module Roqua
5
5
  module RomApi
6
- def self.basic_auth_session(*arguments, &block)
7
- Sessions::BasicAuthSession.new(*arguments, &block)
6
+ def self.basic_auth_session(...)
7
+ Sessions::BasicAuthSession.new(...)
8
8
  end
9
9
  end
10
10
  end
@@ -1,5 +1,5 @@
1
1
  module Roqua
2
2
  module RomApi
3
- VERSION = '3.0.1'
3
+ VERSION = '3.0.3'
4
4
  end
5
5
  end
data/lib/roqua/rom_api.rb CHANGED
@@ -16,6 +16,7 @@ require 'roqua/rom_api/stop_protocol_subscription'
16
16
  require 'roqua/rom_api/report_calculations'
17
17
  require 'roqua/rom_api/get_questionnaire'
18
18
  require 'roqua/rom_api/list_dossier_stats'
19
+ require 'roqua/rom_api/list_auto_protocols'
19
20
  require 'roqua/rom_api/list_protocols'
20
21
  require 'roqua/rom_api/get_protocol'
21
22
  require 'roqua/rom_api/get_measurement'
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe ListAutoProtocols do
4
+ let(:api_path) { "/auto_protocols" }
5
+ let(:response) { httparty_response [{
6
+ 'id' => 1,
7
+ 'name' => 'prot'
8
+ }] }
9
+ let(:session) { Fabricate :basic_auth_session }
10
+ before { allow(BasicAuthSession).to receive(:new).and_return session }
11
+
12
+ it 'returns an array of protocol objects' do
13
+ allow(session).to receive(:get).with(api_path).and_return response
14
+ auto_protocols = ListAutoProtocols.run.result
15
+
16
+ expect(auto_protocols).to be_a(Array)
17
+ expect(auto_protocols.first).to be_a AutoProtocol
18
+ expect(auto_protocols.first.id).to eq 1
19
+ expect(auto_protocols.first.name).to eq 'prot'
20
+ end
21
+ end
@@ -17,7 +17,7 @@ describe ListDossierStats do
17
17
  describe 'with epd_ids provided' do
18
18
  let(:response) { {'foo' => {}, 'bar' => {}} }
19
19
  before do
20
- allow(session).to receive(:get).with('/stats', epd_ids: ['foo', 'bar']).and_return httparty_response(response)
20
+ allow(session).to receive(:get).with('/stats', {epd_ids: ['foo', 'bar']}).and_return httparty_response(response)
21
21
  end
22
22
 
23
23
  subject { ListDossierStats.run! epd_ids: ['foo', 'bar'] }
@@ -8,14 +8,14 @@ describe ListResponses do
8
8
  before { allow(BasicAuthSession).to receive(:new).and_return session }
9
9
 
10
10
  it 'performs a GET on the responses API' do
11
- expect(session).to receive(:get).with(api_path,
12
- respondent_type: 'respondent_type',
13
- status: :status,
14
- questionnaire_keys: ['questionnaire_key'],
15
- completed_after: Time.new(2014, 1, 1),
16
- completed_before: Time.new(2014, 1, 31),
17
- protocol_subscription_id: 'protocol_subscription_id')
18
- .and_return response
11
+ expect(session).to receive(:get).with(api_path, {
12
+ respondent_type: 'respondent_type',
13
+ status: :status,
14
+ questionnaire_keys: ['questionnaire_key'],
15
+ completed_after: Time.new(2014, 1, 1),
16
+ completed_before: Time.new(2014, 1, 31),
17
+ protocol_subscription_id: 'protocol_subscription_id'
18
+ }).and_return response
19
19
  ListResponses.run(dossier_id: options[:dossier_id],
20
20
  respondent_type: 'respondent_type',
21
21
  status: :status,
@@ -26,7 +26,7 @@ describe ListResponses do
26
26
  end
27
27
 
28
28
  it 'can get responses by id' do
29
- expect(session).to receive(:get).with(api_path, response_ids: ['1', '5', '7'])
29
+ expect(session).to receive(:get).with(api_path, {response_ids: ['1', '5', '7']})
30
30
  .and_return response
31
31
  ListResponses.run!(dossier_id: options[:dossier_id],
32
32
  response_ids: ['1', '5', '7'])
@@ -37,7 +37,7 @@ describe ReportCalculations do
37
37
  completed_after: filters[:completed_after].to_i,
38
38
  completed_before: filters[:completed_before].to_i
39
39
  }
40
- expect(session).to receive(:get).with(api_path, calculator: 'test', filters: filter_hash)
40
+ expect(session).to receive(:get).with(api_path, {calculator: 'test', filters: filter_hash})
41
41
  subject
42
42
  end
43
43
  end
@@ -11,24 +11,26 @@ describe StartProtocolSubscription do
11
11
  end
12
12
 
13
13
  it 'does a post to the rom protocol_subscription api' do
14
- expect(session).to receive(:post).with("/dossiers/#{options[:dossier_id]}/protocol_subscriptions",
15
- protocol_key: options[:protocol_key],
16
- protocol_id: options[:protocol_id],
17
- respondent_id: options[:respondent_id],
18
- flags: {some_flag: true},
19
- textvars: {some_var: 'string'})
14
+ expect(session).to receive(:post).with("/dossiers/#{options[:dossier_id]}/protocol_subscriptions", {
15
+ protocol_key: options[:protocol_key],
16
+ protocol_id: options[:protocol_id],
17
+ respondent_id: options[:respondent_id],
18
+ flags: {"some_flag" => true},
19
+ textvars: {"some_var" => 'string'}
20
+ })
20
21
  StartProtocolSubscription.run!(options)
21
22
  end
22
23
 
23
24
  it 'passes in the start_at option when provided' do
24
25
  start_at = Time.current
25
- expect(session).to receive(:post).with("/dossiers/#{options[:dossier_id]}/protocol_subscriptions",
26
- protocol_key: options[:protocol_key],
27
- protocol_id: options[:protocol_id],
28
- respondent_id: options[:respondent_id],
29
- start_at: start_at.to_i,
30
- flags: {some_flag: true},
31
- textvars: {some_var: 'string'})
26
+ expect(session).to receive(:post).with("/dossiers/#{options[:dossier_id]}/protocol_subscriptions", {
27
+ protocol_key: options[:protocol_key],
28
+ protocol_id: options[:protocol_id],
29
+ respondent_id: options[:respondent_id],
30
+ start_at: start_at.to_i,
31
+ flags: {"some_flag" => true},
32
+ textvars: {"some_var" => 'string'}
33
+ })
32
34
  StartProtocolSubscription.run!(options.merge start_at: start_at)
33
35
  end
34
36
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roqua-rom-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Esposito
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2022-10-10 00:00:00.000000000 Z
15
+ date: 2024-04-29 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: httparty
@@ -160,20 +160,6 @@ dependencies:
160
160
  - - "~>"
161
161
  - !ruby/object:Gem::Version
162
162
  version: '2.9'
163
- - !ruby/object:Gem::Dependency
164
- name: ruby_dep
165
- requirement: !ruby/object:Gem::Requirement
166
- requirements:
167
- - - "~>"
168
- - !ruby/object:Gem::Version
169
- version: '1.5'
170
- type: :development
171
- prerelease: false
172
- version_requirements: !ruby/object:Gem::Requirement
173
- requirements:
174
- - - "~>"
175
- - !ruby/object:Gem::Version
176
- version: '1.5'
177
163
  description: Provides authenticated access to ROM utilities
178
164
  email: support@roqua.nl
179
165
  executables: []
@@ -198,6 +184,7 @@ files:
198
184
  - lib/roqua/rom_api/get_protocol.rb
199
185
  - lib/roqua/rom_api/get_questionnaire.rb
200
186
  - lib/roqua/rom_api/get_respondent.rb
187
+ - lib/roqua/rom_api/list_auto_protocols.rb
201
188
  - lib/roqua/rom_api/list_dossier_stats.rb
202
189
  - lib/roqua/rom_api/list_non_responses.rb
203
190
  - lib/roqua/rom_api/list_protocol_subscriptions.rb
@@ -205,6 +192,7 @@ files:
205
192
  - lib/roqua/rom_api/list_respondents.rb
206
193
  - lib/roqua/rom_api/list_responses.rb
207
194
  - lib/roqua/rom_api/models.rb
195
+ - lib/roqua/rom_api/models/auto_protocol.rb
208
196
  - lib/roqua/rom_api/models/dossier_stats.rb
209
197
  - lib/roqua/rom_api/models/fill_out_request.rb
210
198
  - lib/roqua/rom_api/models/measurement.rb
@@ -233,6 +221,7 @@ files:
233
221
  - spec/lib/roqua/rom_api/get_non_response_spec.rb
234
222
  - spec/lib/roqua/rom_api/get_protocol_spec.rb
235
223
  - spec/lib/roqua/rom_api/get_respondent_spec.rb
224
+ - spec/lib/roqua/rom_api/list_auto_protocols_spec.rb
236
225
  - spec/lib/roqua/rom_api/list_dossier_stats_spec.rb
237
226
  - spec/lib/roqua/rom_api/list_non_responses_spec.rb
238
227
  - spec/lib/roqua/rom_api/list_protocol_subscriptions_spec.rb
@@ -274,39 +263,40 @@ required_rubygems_version: !ruby/object:Gem::Requirement
274
263
  - !ruby/object:Gem::Version
275
264
  version: '0'
276
265
  requirements: []
277
- rubygems_version: 3.1.4
266
+ rubygems_version: 3.4.22
278
267
  signing_key:
279
268
  specification_version: 4
280
269
  summary: API wrapper gem around RoQua's ROM API
281
270
  test_files:
282
- - spec/spec_helper.rb
283
- - spec/support/test.yml
284
- - spec/support/httparty_helpers.rb
285
271
  - spec/fabricators/basic_auth_session_fabricator.rb
286
- - spec/lib/roqua/rom_api/list_respondents_spec.rb
287
- - spec/lib/roqua/rom_api/update_response_spec.rb
272
+ - spec/lib/roqua/rom_api/cancel_fill_out_request_spec.rb
288
273
  - spec/lib/roqua/rom_api/create_fill_out_request_spec.rb
274
+ - spec/lib/roqua/rom_api/create_response_spec.rb
289
275
  - spec/lib/roqua/rom_api/endpoint_spec.rb
290
- - spec/lib/roqua/rom_api/get_respondent_spec.rb
276
+ - spec/lib/roqua/rom_api/get_measurement_spec.rb
277
+ - spec/lib/roqua/rom_api/get_non_response_spec.rb
291
278
  - spec/lib/roqua/rom_api/get_protocol_spec.rb
292
- - spec/lib/roqua/rom_api/stop_protocol_subscription_spec.rb
279
+ - spec/lib/roqua/rom_api/get_respondent_spec.rb
280
+ - spec/lib/roqua/rom_api/list_auto_protocols_spec.rb
281
+ - spec/lib/roqua/rom_api/list_dossier_stats_spec.rb
293
282
  - spec/lib/roqua/rom_api/list_non_responses_spec.rb
294
- - spec/lib/roqua/rom_api/create_response_spec.rb
283
+ - spec/lib/roqua/rom_api/list_protocol_subscriptions_spec.rb
284
+ - spec/lib/roqua/rom_api/list_protocols_spec.rb
285
+ - spec/lib/roqua/rom_api/list_respondents_spec.rb
295
286
  - spec/lib/roqua/rom_api/list_responses_spec.rb
296
- - spec/lib/roqua/rom_api/report_calculations_spec.rb
297
- - spec/lib/roqua/rom_api/cancel_fill_out_request_spec.rb
298
- - spec/lib/roqua/rom_api/get_non_response_spec.rb
299
- - spec/lib/roqua/rom_api/models/stats_spec.rb
300
287
  - spec/lib/roqua/rom_api/models/dossier_stats_spec.rb
301
- - spec/lib/roqua/rom_api/models/respondent_spec.rb
302
288
  - spec/lib/roqua/rom_api/models/fill_out_request_spec.rb
303
- - spec/lib/roqua/rom_api/models/response_spec.rb
304
289
  - spec/lib/roqua/rom_api/models/protocol_subscription_spec.rb
290
+ - spec/lib/roqua/rom_api/models/respondent_spec.rb
291
+ - spec/lib/roqua/rom_api/models/response_spec.rb
292
+ - spec/lib/roqua/rom_api/models/stats_spec.rb
293
+ - spec/lib/roqua/rom_api/report_calculations_spec.rb
305
294
  - spec/lib/roqua/rom_api/sessions/basic_auth_session_spec.rb
306
295
  - spec/lib/roqua/rom_api/start_fill_out_session_spec.rb
307
- - spec/lib/roqua/rom_api/list_protocols_spec.rb
308
296
  - spec/lib/roqua/rom_api/start_protocol_subscription_spec.rb
309
- - spec/lib/roqua/rom_api/get_measurement_spec.rb
310
- - spec/lib/roqua/rom_api/list_protocol_subscriptions_spec.rb
311
- - spec/lib/roqua/rom_api/list_dossier_stats_spec.rb
297
+ - spec/lib/roqua/rom_api/stop_protocol_subscription_spec.rb
298
+ - spec/lib/roqua/rom_api/update_response_spec.rb
312
299
  - spec/lib/roqua_rom_api_spec.rb
300
+ - spec/spec_helper.rb
301
+ - spec/support/httparty_helpers.rb
302
+ - spec/support/test.yml