roqua-rom-api 2.2.0 → 2.2.5
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 +5 -5
- data/lib/roqua/rom_api/cancel_fill_out_request.rb +6 -1
- data/lib/roqua/rom_api/create_fill_out_request.rb +12 -4
- data/lib/roqua/rom_api/list_responses.rb +2 -2
- data/lib/roqua/rom_api/models/protocol.rb +15 -0
- data/lib/roqua/rom_api/models/respondent.rb +1 -0
- data/lib/roqua/rom_api/report_calculations.rb +3 -3
- data/lib/roqua/rom_api/sessions/basic_auth_session.rb +5 -1
- data/lib/roqua/rom_api/start_fill_out_session.rb +2 -2
- data/lib/roqua/rom_api/start_protocol_subscription.rb +4 -2
- data/lib/roqua/rom_api/version.rb +1 -1
- data/spec/fabricators/basic_auth_session_fabricator.rb +1 -1
- data/spec/lib/roqua/rom_api/create_fill_out_request_spec.rb +2 -2
- data/spec/lib/roqua/rom_api/create_response_spec.rb +1 -1
- data/spec/lib/roqua/rom_api/models/fill_out_request_spec.rb +2 -2
- data/spec/lib/roqua/rom_api/models/response_spec.rb +2 -2
- data/spec/lib/roqua/rom_api/report_calculations_spec.rb +1 -1
- data/spec/lib/roqua/rom_api/sessions/basic_auth_session_spec.rb +7 -1
- data/spec/lib/roqua/rom_api/start_protocol_subscription_spec.rb +7 -3
- data/spec/lib/roqua/rom_api/update_response_spec.rb +1 -1
- data/spec/spec_helper.rb +5 -0
- metadata +64 -44
- data/.document +0 -5
- data/.gitignore +0 -51
- data/CHANGELOG.md +0 -175
- data/Gemfile +0 -10
- data/Guardfile +0 -28
- data/roqua_rom_api.gemspec +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0a4869fe5ebc3afa012ae97feda45d62c09971c983cf7c5b88367e395aec3cee
|
4
|
+
data.tar.gz: 3985167ea4cd4d54cd2b6c5aec7ddd9af7323486394c890bc47c32f9cb2bb003
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8805936a42535dbc65de31820f49fba939b9e5e2bfd289ad087754d13a488653f5592695819269305e67e9df1c6019ce261a55751969f5eaa0e8b90d200f5dc
|
7
|
+
data.tar.gz: 609dcc6e850ea64f6747e113fc23dc4dfd2ca437f27febf5f1fb552522d5728c3bd2350538a9433a555ee2b93c6a0c7d51eb76b64fb8d2f4aac8bdfda99cd013
|
@@ -1,10 +1,15 @@
|
|
1
1
|
module Roqua
|
2
2
|
module RomApi
|
3
|
-
# @
|
3
|
+
# @example To create a fill out request run:
|
4
|
+
# Roqua::RomApi::CancelFillOutRequest.run! \
|
5
|
+
# dossier_id: dossier_id,
|
6
|
+
# fill_out_request_id: for_id
|
4
7
|
class CancelFillOutRequest < Endpoint
|
5
8
|
string :dossier_id
|
6
9
|
string :fill_out_request_id
|
7
10
|
|
11
|
+
private
|
12
|
+
|
8
13
|
def execute
|
9
14
|
validate_response_for do
|
10
15
|
basic_auth_session.delete("/dossiers/#{dossier_id}/fill_out_requests/#{fill_out_request_id}")
|
@@ -1,18 +1,26 @@
|
|
1
1
|
module Roqua
|
2
2
|
module RomApi
|
3
|
-
# @
|
3
|
+
# @example To create a fill out request run:
|
4
|
+
# Roqua::RomApi::CreateFillOutRequest.run! \
|
5
|
+
# dossier_id: dossier_id,
|
6
|
+
# questionnaire_keys: ['key1', 'key2'],
|
7
|
+
# callback_url: notify_callback_path(token: 'secret')
|
8
|
+
#
|
9
|
+
# @see http://docs.roqua.net/developer/rom/dossier/fill_out_requests/ for more info on how callbacks work.
|
4
10
|
class CreateFillOutRequest < Endpoint
|
5
11
|
string :dossier_id
|
6
12
|
integer :measurement_sequence_id, default: nil
|
7
|
-
array :questionnaire_keys, default: []
|
13
|
+
array :questionnaire_keys, default: [] do string end
|
8
14
|
string :respondent_type, default: nil
|
9
15
|
string :callback_url, default: nil
|
10
16
|
array :reminders, default: []
|
11
|
-
time
|
12
|
-
time
|
17
|
+
time :open_from, default: nil, allow_nil: true
|
18
|
+
time :open_till, default: nil, allow_nil: true
|
13
19
|
|
14
20
|
validates :dossier_id, presence: {allow_blank: false}
|
15
21
|
|
22
|
+
private
|
23
|
+
|
16
24
|
def execute
|
17
25
|
validate_response_for do
|
18
26
|
fill_out_request = {
|
@@ -3,8 +3,8 @@ module Roqua
|
|
3
3
|
# @api private
|
4
4
|
class ListResponses < Endpoint
|
5
5
|
string :dossier_id
|
6
|
-
array :response_ids, default: []
|
7
|
-
array :questionnaire_keys, default: []
|
6
|
+
array :response_ids, default: [] do string end
|
7
|
+
array :questionnaire_keys, default: [] do string end
|
8
8
|
time :completed_before, default: nil
|
9
9
|
time :completed_after, default: nil
|
10
10
|
string :respondent_type, default: nil
|
@@ -6,11 +6,26 @@ module Roqua
|
|
6
6
|
class Protocol
|
7
7
|
include Virtus.model
|
8
8
|
|
9
|
+
# @!attribute [r] id
|
10
|
+
# @return [Integer]
|
9
11
|
attribute :id, Integer
|
12
|
+
# @!attribute key
|
13
|
+
# @return [String]
|
14
|
+
attribute :key, String
|
15
|
+
# @!attribute name
|
16
|
+
# @return [String]
|
10
17
|
attribute :name, String
|
18
|
+
# @!attribute description
|
19
|
+
# @return [String]
|
11
20
|
attribute :description, String
|
21
|
+
# @!attribute active
|
22
|
+
# @return [Boolean]
|
12
23
|
attribute :active, Boolean
|
24
|
+
# @!attribute automatic
|
25
|
+
# @return [Boolean]
|
13
26
|
attribute :automatic, Boolean
|
27
|
+
# @!attribute measurements
|
28
|
+
# @return [Array<Measurement>]
|
14
29
|
attribute :measurements, Array[Models::Measurement]
|
15
30
|
end
|
16
31
|
end
|
@@ -4,12 +4,12 @@ module Roqua
|
|
4
4
|
class ReportCalculations < Endpoint
|
5
5
|
string :dossier_id
|
6
6
|
string :calculator
|
7
|
-
array
|
8
|
-
array
|
7
|
+
array :response_ids, default: nil do string end
|
8
|
+
array :questionnaire_keys, default: nil do string end
|
9
9
|
time :completed_after, default: nil
|
10
10
|
time :completed_before, default: nil
|
11
11
|
|
12
|
-
validates :questionnaire_keys, presence: true, unless:
|
12
|
+
validates :questionnaire_keys, presence: true, unless: -> { response_ids.present? }
|
13
13
|
|
14
14
|
def execute
|
15
15
|
validate_response_for do
|
@@ -58,7 +58,11 @@ module Roqua
|
|
58
58
|
when 401
|
59
59
|
access_denied(response)
|
60
60
|
else
|
61
|
-
|
61
|
+
msg = response.parsed_response
|
62
|
+
if msg.is_a? Hash
|
63
|
+
msg = msg.fetch('error', nil)
|
64
|
+
end
|
65
|
+
fail msg || "Received HTTP response code #{response.code}!"
|
62
66
|
end
|
63
67
|
end
|
64
68
|
|
@@ -3,8 +3,8 @@ module Roqua
|
|
3
3
|
# @api private
|
4
4
|
class StartFillOutSession < Endpoint
|
5
5
|
string :dossier_id
|
6
|
-
array :questionnaire_keys, default: []
|
7
|
-
array :response_ids, default: []
|
6
|
+
array :questionnaire_keys, default: [] do string end
|
7
|
+
array :response_ids, default: [] do integer end
|
8
8
|
string :return_to
|
9
9
|
string :progress_url, default: nil
|
10
10
|
string :stylesheet, default: nil
|
@@ -3,13 +3,15 @@ module Roqua
|
|
3
3
|
# @api private
|
4
4
|
class StartProtocolSubscription < Endpoint
|
5
5
|
string :dossier_id
|
6
|
-
string :protocol_key
|
6
|
+
string :protocol_key, default: nil # Pass the key
|
7
|
+
integer :protocol_id, default: nil # or the id
|
8
|
+
integer :respondent_id, default: nil
|
7
9
|
time :start_at, default: nil
|
8
10
|
hash :flags, default: {}, strip: false
|
9
11
|
hash :textvars, default: {}, strip: false
|
10
12
|
|
11
13
|
def execute
|
12
|
-
options = {protocol_key: protocol_key, flags: flags, textvars: textvars}
|
14
|
+
options = {protocol_key: protocol_key, protocol_id: protocol_id, respondent_id: respondent_id, flags: flags, textvars: textvars}
|
13
15
|
options[:start_at] = start_at.to_i if start_at
|
14
16
|
validate_response_for do
|
15
17
|
basic_auth_session.post("/dossiers/#{dossier_id}/protocol_subscriptions", options)
|
@@ -2,6 +2,6 @@ Fabricator(:basic_auth_session, from: Roqua::RomApi::Sessions::BasicAuthSession)
|
|
2
2
|
initialize_with do
|
3
3
|
Roqua::RomApi::Sessions::BasicAuthSession.new username: 'some_username',
|
4
4
|
password: 'some_password',
|
5
|
-
rom_host: 'http://roqua.
|
5
|
+
rom_host: 'http://test.rom.roqua.eu'
|
6
6
|
end
|
7
7
|
end
|
@@ -8,8 +8,8 @@ describe CreateFillOutRequest do
|
|
8
8
|
respondent_type: 'patient_version',
|
9
9
|
callback_url: 'http://callback.url',
|
10
10
|
reminders: [1000, 2000],
|
11
|
-
open_from: Time.
|
12
|
-
open_till: Time.
|
11
|
+
open_from: Time.current,
|
12
|
+
open_till: Time.current + 100_000
|
13
13
|
}
|
14
14
|
end
|
15
15
|
let(:session) { Sessions::BasicAuthSession.new }
|
@@ -9,7 +9,7 @@ describe CreateResponse do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'does a post to the rom responses api' do
|
12
|
-
filled_out_at = Time.
|
12
|
+
filled_out_at = Time.current
|
13
13
|
expect(session).to receive(:post).with '/dossiers/some_dossier_id/responses',
|
14
14
|
questionnaire_key: 'some_questionnaire_key',
|
15
15
|
answer_data: {some: 'answer_data'},
|
@@ -4,7 +4,7 @@ describe FillOutRequest do
|
|
4
4
|
let(:response_body) do
|
5
5
|
{'id' => 123,
|
6
6
|
'respondent_type' => 'patient_version',
|
7
|
-
'completing_url' => 'http://roqua.
|
7
|
+
'completing_url' => 'http://test.rom.roqua.eu/client/session/new?token=26aee9a4'
|
8
8
|
}
|
9
9
|
end
|
10
10
|
|
@@ -12,6 +12,6 @@ describe FillOutRequest do
|
|
12
12
|
response = FillOutRequest.new response_body
|
13
13
|
expect(response.id).to eq 123
|
14
14
|
expect(response.respondent_type).to eq 'patient_version'
|
15
|
-
expect(response.completing_url).to eq 'http://roqua.
|
15
|
+
expect(response.completing_url).to eq 'http://test.rom.roqua.eu/client/session/new?token=26aee9a4'
|
16
16
|
end
|
17
17
|
end
|
@@ -13,7 +13,7 @@ describe Response do
|
|
13
13
|
'completer_type' => 'patient',
|
14
14
|
'completed_at' => nil,
|
15
15
|
'status' => 'open',
|
16
|
-
'completing_url' => 'http://roqua.
|
16
|
+
'completing_url' => 'http://test.rom.roqua.eu/client/session/new?token=26aee9a4',
|
17
17
|
'values' => {'some' => 'values'},
|
18
18
|
'outcome' => {'some' => 'outcome'}}
|
19
19
|
end
|
@@ -31,7 +31,7 @@ describe Response do
|
|
31
31
|
expect(response.completed_at).to eq nil
|
32
32
|
expect(response.completer_type).to eq 'patient'
|
33
33
|
expect(response.status).to eq 'open'
|
34
|
-
expect(response.completing_url).to eq 'http://roqua.
|
34
|
+
expect(response.completing_url).to eq 'http://test.rom.roqua.eu/client/session/new?token=26aee9a4'
|
35
35
|
expect(response.values).to eq('some' => 'values')
|
36
36
|
expect(response.outcome).to eq('some' => 'outcome')
|
37
37
|
end
|
@@ -28,7 +28,7 @@ describe ReportCalculations do
|
|
28
28
|
|
29
29
|
describe 'given a list of questionnaire_keys' do
|
30
30
|
let(:filters) { {questionnaire_keys: ['q1', 'q2'],
|
31
|
-
completed_after: Time.
|
31
|
+
completed_after: Time.current - 100_000, completed_before: Time.current} }
|
32
32
|
let(:options) { {dossier_id: '1', calculator: 'test'}.merge(filters) }
|
33
33
|
|
34
34
|
it 'calls the right url' do
|
@@ -48,7 +48,7 @@ describe BasicAuthSession do
|
|
48
48
|
|
49
49
|
describe '#get' do
|
50
50
|
it 'performs a get request' do
|
51
|
-
expect(HTTParty).to receive(:get).with('http://roqua.
|
51
|
+
expect(HTTParty).to receive(:get).with('http://test.rom.roqua.eu/api/v1/some_path.json',
|
52
52
|
query: {some: 'param'},
|
53
53
|
basic_auth: {username: 'some_username', password: 'some_password'})
|
54
54
|
.and_return(response)
|
@@ -61,6 +61,12 @@ describe BasicAuthSession do
|
|
61
61
|
expect { session.get '/some_path' }.to raise_error(RuntimeError, 'some_response')
|
62
62
|
end
|
63
63
|
|
64
|
+
it 'throws an error if the reponse is not within the 200 range with json message' do
|
65
|
+
response = double('response', code: 500, parsed_response: {'error' => 'the error'})
|
66
|
+
allow(HTTParty).to receive(:get).and_return(response)
|
67
|
+
expect { session.get '/some_path' }.to raise_error(RuntimeError, 'the error')
|
68
|
+
end
|
69
|
+
|
64
70
|
it 'throws a NoSession error if the basic auth is incorrect' do
|
65
71
|
allow(response).to receive(:code).and_return(401)
|
66
72
|
allow(HTTParty).to receive(:get).and_return(response)
|
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe StartProtocolSubscription do
|
4
|
-
let(:options) { {dossier_id: 'some_dossier_id', protocol_key: 'some_key',
|
5
|
-
flags: {some_flag: true}, textvars: {some_var: 'string'}} }
|
4
|
+
let(:options) { {dossier_id: 'some_dossier_id', protocol_key: 'some_key', protocol_id: nil,
|
5
|
+
respondent_id: 123, flags: {some_flag: true}, textvars: {some_var: 'string'}} }
|
6
6
|
let(:session) { Sessions::BasicAuthSession.new }
|
7
7
|
let(:response) { httparty_response({}) }
|
8
8
|
before do
|
@@ -13,15 +13,19 @@ describe StartProtocolSubscription do
|
|
13
13
|
it 'does a post to the rom protocol_subscription api' do
|
14
14
|
expect(session).to receive(:post).with("/dossiers/#{options[:dossier_id]}/protocol_subscriptions",
|
15
15
|
protocol_key: options[:protocol_key],
|
16
|
+
protocol_id: options[:protocol_id],
|
17
|
+
respondent_id: options[:respondent_id],
|
16
18
|
flags: {some_flag: true},
|
17
19
|
textvars: {some_var: 'string'})
|
18
20
|
StartProtocolSubscription.run!(options)
|
19
21
|
end
|
20
22
|
|
21
23
|
it 'passes in the start_at option when provided' do
|
22
|
-
start_at = Time.
|
24
|
+
start_at = Time.current
|
23
25
|
expect(session).to receive(:post).with("/dossiers/#{options[:dossier_id]}/protocol_subscriptions",
|
24
26
|
protocol_key: options[:protocol_key],
|
27
|
+
protocol_id: options[:protocol_id],
|
28
|
+
respondent_id: options[:respondent_id],
|
25
29
|
start_at: start_at.to_i,
|
26
30
|
flags: {some_flag: true},
|
27
31
|
textvars: {some_var: 'string'})
|
@@ -10,7 +10,7 @@ describe UpdateResponse do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'does a post to the rom responses api' do
|
13
|
-
filled_out_at = Time.
|
13
|
+
filled_out_at = Time.current
|
14
14
|
expect(session).to receive(:patch).with '/dossiers/some_dossier_id/responses/230',
|
15
15
|
questionnaire_key: 'some_questionnaire_key',
|
16
16
|
answer_data: {some: 'answer_data'},
|
data/spec/spec_helper.rb
CHANGED
@@ -6,6 +6,11 @@ include Roqua::RomApi
|
|
6
6
|
include Roqua::RomApi::Sessions
|
7
7
|
include Roqua::RomApi::Models
|
8
8
|
|
9
|
+
# It seems sometimes the Rails constant is defined and Rails.root is injected (which is nil at that moment) resulting
|
10
|
+
# in missing fabricators. Let's just set the path to the current directory to fix this. See:
|
11
|
+
# https://github.com/paulelliott/fabrication/blob/42db96f11cbf80d22bd9c87dbf6740894c2b2bdc/lib/fabrication/config.rb#L42
|
12
|
+
Fabrication::Config.path_prefix = ['.']
|
13
|
+
|
9
14
|
Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'support', '*.rb')].each {|f| require f}
|
10
15
|
|
11
16
|
I18n.load_path << Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'support', '*.yml')]
|
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: 2.2.
|
4
|
+
version: 2.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Esposito
|
@@ -9,10 +9,10 @@ authors:
|
|
9
9
|
- Ivan Malykh
|
10
10
|
- Henk van der Veen
|
11
11
|
- Jorn van de Beek
|
12
|
-
autorequire:
|
12
|
+
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2021-10-19 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: httparty
|
@@ -20,14 +20,14 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - "~>"
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0.14
|
23
|
+
version: '0.14'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - "~>"
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: 0.14
|
30
|
+
version: '0.14'
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: active_interaction
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,6 +42,20 @@ dependencies:
|
|
42
42
|
- - "~>"
|
43
43
|
- !ruby/object:Gem::Version
|
44
44
|
version: '3.2'
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: activemodel
|
47
|
+
requirement: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - "<"
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '6.1'
|
52
|
+
type: :runtime
|
53
|
+
prerelease: false
|
54
|
+
version_requirements: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - "<"
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '6.1'
|
45
59
|
- !ruby/object:Gem::Dependency
|
46
60
|
name: virtus
|
47
61
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,34 +70,48 @@ dependencies:
|
|
56
70
|
- - "~>"
|
57
71
|
- !ruby/object:Gem::Version
|
58
72
|
version: '1.0'
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: appraisal
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
type: :development
|
81
|
+
prerelease: false
|
82
|
+
version_requirements: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
59
87
|
- !ruby/object:Gem::Dependency
|
60
88
|
name: bundler
|
61
89
|
requirement: !ruby/object:Gem::Requirement
|
62
90
|
requirements:
|
63
|
-
- - "
|
91
|
+
- - ">="
|
64
92
|
- !ruby/object:Gem::Version
|
65
|
-
version: '
|
93
|
+
version: '0'
|
66
94
|
type: :development
|
67
95
|
prerelease: false
|
68
96
|
version_requirements: !ruby/object:Gem::Requirement
|
69
97
|
requirements:
|
70
|
-
- - "
|
98
|
+
- - ">="
|
71
99
|
- !ruby/object:Gem::Version
|
72
|
-
version: '
|
100
|
+
version: '0'
|
73
101
|
- !ruby/object:Gem::Dependency
|
74
102
|
name: rake
|
75
103
|
requirement: !ruby/object:Gem::Requirement
|
76
104
|
requirements:
|
77
105
|
- - "~>"
|
78
106
|
- !ruby/object:Gem::Version
|
79
|
-
version: '
|
107
|
+
version: '13.0'
|
80
108
|
type: :development
|
81
109
|
prerelease: false
|
82
110
|
version_requirements: !ruby/object:Gem::Requirement
|
83
111
|
requirements:
|
84
112
|
- - "~>"
|
85
113
|
- !ruby/object:Gem::Version
|
86
|
-
version: '
|
114
|
+
version: '13.0'
|
87
115
|
- !ruby/object:Gem::Dependency
|
88
116
|
name: yard
|
89
117
|
requirement: !ruby/object:Gem::Requirement
|
@@ -104,14 +132,14 @@ dependencies:
|
|
104
132
|
requirements:
|
105
133
|
- - "~>"
|
106
134
|
- !ruby/object:Gem::Version
|
107
|
-
version: 3.0
|
135
|
+
version: '3.0'
|
108
136
|
type: :development
|
109
137
|
prerelease: false
|
110
138
|
version_requirements: !ruby/object:Gem::Requirement
|
111
139
|
requirements:
|
112
140
|
- - "~>"
|
113
141
|
- !ruby/object:Gem::Version
|
114
|
-
version: 3.0
|
142
|
+
version: '3.0'
|
115
143
|
- !ruby/object:Gem::Dependency
|
116
144
|
name: fabrication
|
117
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,25 +160,20 @@ dependencies:
|
|
132
160
|
requirements:
|
133
161
|
- - "~>"
|
134
162
|
- !ruby/object:Gem::Version
|
135
|
-
version: 1.
|
163
|
+
version: '1.5'
|
136
164
|
type: :development
|
137
165
|
prerelease: false
|
138
166
|
version_requirements: !ruby/object:Gem::Requirement
|
139
167
|
requirements:
|
140
168
|
- - "~>"
|
141
169
|
- !ruby/object:Gem::Version
|
142
|
-
version: 1.
|
170
|
+
version: '1.5'
|
143
171
|
description: Provides authenticated access to ROM utilities
|
144
172
|
email: support@roqua.nl
|
145
173
|
executables: []
|
146
174
|
extensions: []
|
147
175
|
extra_rdoc_files: []
|
148
176
|
files:
|
149
|
-
- ".document"
|
150
|
-
- ".gitignore"
|
151
|
-
- CHANGELOG.md
|
152
|
-
- Gemfile
|
153
|
-
- Guardfile
|
154
177
|
- LICENSE.txt
|
155
178
|
- README.md
|
156
179
|
- Rakefile
|
@@ -195,7 +218,6 @@ files:
|
|
195
218
|
- lib/roqua/rom_api/stop_protocol_subscription.rb
|
196
219
|
- lib/roqua/rom_api/update_response.rb
|
197
220
|
- lib/roqua/rom_api/version.rb
|
198
|
-
- roqua_rom_api.gemspec
|
199
221
|
- spec/fabricators/basic_auth_session_fabricator.rb
|
200
222
|
- spec/lib/roqua/rom_api/cancel_fill_out_request_spec.rb
|
201
223
|
- spec/lib/roqua/rom_api/create_fill_out_request_spec.rb
|
@@ -231,7 +253,7 @@ homepage: https://github.com/roqua/roqua/blob/master/rom_api/README.md
|
|
231
253
|
licenses:
|
232
254
|
- MIT
|
233
255
|
metadata: {}
|
234
|
-
post_install_message:
|
256
|
+
post_install_message:
|
235
257
|
rdoc_options: []
|
236
258
|
require_paths:
|
237
259
|
- lib
|
@@ -246,41 +268,39 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
246
268
|
- !ruby/object:Gem::Version
|
247
269
|
version: '0'
|
248
270
|
requirements: []
|
249
|
-
|
250
|
-
|
251
|
-
signing_key:
|
271
|
+
rubygems_version: 3.1.6
|
272
|
+
signing_key:
|
252
273
|
specification_version: 4
|
253
274
|
summary: API wrapper gem around RoQua's ROM API
|
254
275
|
test_files:
|
276
|
+
- spec/spec_helper.rb
|
277
|
+
- spec/support/test.yml
|
278
|
+
- spec/support/httparty_helpers.rb
|
255
279
|
- spec/fabricators/basic_auth_session_fabricator.rb
|
256
|
-
- spec/lib/roqua/rom_api/
|
280
|
+
- spec/lib/roqua/rom_api/list_respondents_spec.rb
|
281
|
+
- spec/lib/roqua/rom_api/update_response_spec.rb
|
257
282
|
- spec/lib/roqua/rom_api/create_fill_out_request_spec.rb
|
258
|
-
- spec/lib/roqua/rom_api/create_response_spec.rb
|
259
283
|
- spec/lib/roqua/rom_api/endpoint_spec.rb
|
260
|
-
- spec/lib/roqua/rom_api/get_measurement_spec.rb
|
261
|
-
- spec/lib/roqua/rom_api/get_non_response_spec.rb
|
262
|
-
- spec/lib/roqua/rom_api/get_protocol_spec.rb
|
263
284
|
- spec/lib/roqua/rom_api/get_respondent_spec.rb
|
264
|
-
- spec/lib/roqua/rom_api/
|
285
|
+
- spec/lib/roqua/rom_api/get_protocol_spec.rb
|
286
|
+
- spec/lib/roqua/rom_api/stop_protocol_subscription_spec.rb
|
265
287
|
- spec/lib/roqua/rom_api/list_non_responses_spec.rb
|
266
|
-
- spec/lib/roqua/rom_api/
|
267
|
-
- spec/lib/roqua/rom_api/list_protocols_spec.rb
|
268
|
-
- spec/lib/roqua/rom_api/list_respondents_spec.rb
|
288
|
+
- spec/lib/roqua/rom_api/create_response_spec.rb
|
269
289
|
- spec/lib/roqua/rom_api/list_responses_spec.rb
|
290
|
+
- spec/lib/roqua/rom_api/report_calculations_spec.rb
|
291
|
+
- spec/lib/roqua/rom_api/cancel_fill_out_request_spec.rb
|
292
|
+
- spec/lib/roqua/rom_api/get_non_response_spec.rb
|
293
|
+
- spec/lib/roqua/rom_api/models/stats_spec.rb
|
270
294
|
- spec/lib/roqua/rom_api/models/dossier_stats_spec.rb
|
271
|
-
- spec/lib/roqua/rom_api/models/fill_out_request_spec.rb
|
272
|
-
- spec/lib/roqua/rom_api/models/protocol_subscription_spec.rb
|
273
295
|
- spec/lib/roqua/rom_api/models/respondent_spec.rb
|
296
|
+
- spec/lib/roqua/rom_api/models/fill_out_request_spec.rb
|
274
297
|
- spec/lib/roqua/rom_api/models/response_spec.rb
|
275
|
-
- spec/lib/roqua/rom_api/models/
|
276
|
-
- spec/lib/roqua/rom_api/report_calculations_spec.rb
|
298
|
+
- spec/lib/roqua/rom_api/models/protocol_subscription_spec.rb
|
277
299
|
- spec/lib/roqua/rom_api/sessions/basic_auth_session_spec.rb
|
278
300
|
- spec/lib/roqua/rom_api/start_fill_out_session_spec.rb
|
301
|
+
- spec/lib/roqua/rom_api/list_protocols_spec.rb
|
279
302
|
- spec/lib/roqua/rom_api/start_protocol_subscription_spec.rb
|
280
|
-
- spec/lib/roqua/rom_api/
|
281
|
-
- spec/lib/roqua/rom_api/
|
303
|
+
- spec/lib/roqua/rom_api/get_measurement_spec.rb
|
304
|
+
- spec/lib/roqua/rom_api/list_protocol_subscriptions_spec.rb
|
305
|
+
- spec/lib/roqua/rom_api/list_dossier_stats_spec.rb
|
282
306
|
- spec/lib/roqua_rom_api_spec.rb
|
283
|
-
- spec/spec_helper.rb
|
284
|
-
- spec/support/httparty_helpers.rb
|
285
|
-
- spec/support/test.yml
|
286
|
-
has_rdoc:
|
data/.document
DELETED
data/.gitignore
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
Gemfile.lock
|
2
|
-
|
3
|
-
# rcov generated
|
4
|
-
coverage
|
5
|
-
coverage.data
|
6
|
-
|
7
|
-
# rdoc generated
|
8
|
-
rdoc
|
9
|
-
|
10
|
-
# yard generated
|
11
|
-
doc
|
12
|
-
.yardoc
|
13
|
-
|
14
|
-
# bundler
|
15
|
-
.bundle
|
16
|
-
|
17
|
-
# jeweler generated
|
18
|
-
pkg
|
19
|
-
|
20
|
-
# Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
|
21
|
-
#
|
22
|
-
# * Create a file at ~/.gitignore
|
23
|
-
# * Include files you want ignored
|
24
|
-
# * Run: git config --global core.excludesfile ~/.gitignore
|
25
|
-
#
|
26
|
-
# After doing this, these files will be ignored in all your git projects,
|
27
|
-
# saving you from having to 'pollute' every project you touch with them
|
28
|
-
#
|
29
|
-
# Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
|
30
|
-
#
|
31
|
-
# For MacOS:
|
32
|
-
#
|
33
|
-
#.DS_Store
|
34
|
-
|
35
|
-
# For TextMate
|
36
|
-
#*.tmproj
|
37
|
-
#tmtags
|
38
|
-
|
39
|
-
# For emacs:
|
40
|
-
#*~
|
41
|
-
#\#*
|
42
|
-
#.\#*
|
43
|
-
|
44
|
-
# For vim:
|
45
|
-
#*.swp
|
46
|
-
|
47
|
-
# For redcar:
|
48
|
-
#.redcar
|
49
|
-
|
50
|
-
# For rubinius:
|
51
|
-
#*.rbc
|
data/CHANGELOG.md
DELETED
@@ -1,175 +0,0 @@
|
|
1
|
-
### HEAD
|
2
|
-
|
3
|
-
### 2.2.0 / 2017-02-12
|
4
|
-
|
5
|
-
* Added ListNonResponses
|
6
|
-
* Added GetNonResponse
|
7
|
-
* Added sbg_info to responses
|
8
|
-
|
9
|
-
### 2.1.0 / 2017-02-07
|
10
|
-
|
11
|
-
* Added ListProtocollen
|
12
|
-
* Added GetProtocol
|
13
|
-
* Added GetMeasurement
|
14
|
-
* Added ListRespondents
|
15
|
-
* Added GetRespondent
|
16
|
-
|
17
|
-
### 2.0.1 / 2016-08-15
|
18
|
-
|
19
|
-
* Updated httparty gem to 0.14.0 to fix Virtus incompatibility
|
20
|
-
|
21
|
-
### 2.0.0 / 2016-08-03
|
22
|
-
|
23
|
-
* Updated ActiveInteraction to version 3.2. See: https://github.com/orgsync/active_interaction/releases/tag/v3.2.0
|
24
|
-
|
25
|
-
### 1.0.0 / 2015-12-08
|
26
|
-
|
27
|
-
* Updated ActiveInteraction to version 2.1. AI 2 has various breaking changes, see http://taylor.fausak.me/2015/05/07/announcing-active-interaction-2/
|
28
|
-
|
29
|
-
### 0.4.2 / 2015-8-20
|
30
|
-
|
31
|
-
* Add ability to use different basic_auth_sessions than the global one
|
32
|
-
|
33
|
-
### 0.4.1 / 2015-8-12
|
34
|
-
|
35
|
-
* Add charts to questionnaire model
|
36
|
-
* Add internal quby_key to questionnaire model
|
37
|
-
|
38
|
-
### 0.4.0 / 2015-6-2
|
39
|
-
|
40
|
-
* Add CancelFillOutRequest api
|
41
|
-
|
42
|
-
### 0.3.0 / 2015-2-13
|
43
|
-
|
44
|
-
* Add dossier stats api
|
45
|
-
* Retrieve responses by response_ids.
|
46
|
-
|
47
|
-
### 0.2.2 / 2014-12-15
|
48
|
-
|
49
|
-
* Improve validation errors for protocol_subscriptions
|
50
|
-
* Add API endpoint for retrieving questionnaires
|
51
|
-
* Pass textvar and flag definitions of questionnaires
|
52
|
-
* Pass textvars and flags of responses
|
53
|
-
|
54
|
-
### 0.2.1 / 2014-11-17
|
55
|
-
|
56
|
-
* Add progress url to fill_out session api endpoint
|
57
|
-
|
58
|
-
### 0.2.0 / 2014-11-11
|
59
|
-
|
60
|
-
* Added CreateMeasurementSequence
|
61
|
-
* BACKWARD INCOMPATIBLE: Starting a protocol subscription now returns ProtocolSubscription model
|
62
|
-
* Add responses to protocol subscriptions
|
63
|
-
|
64
|
-
### 0.1.12 / 2014-10-28
|
65
|
-
|
66
|
-
* Add started_at timestamp to response create and update api endpoint
|
67
|
-
|
68
|
-
### 0.1.11 / 2014-10-20
|
69
|
-
|
70
|
-
* Add textvars parameter to protocol subscriptions
|
71
|
-
|
72
|
-
### 0.1.10 / 2014-10-07
|
73
|
-
|
74
|
-
* Add flags parameter to protocol subscriptions
|
75
|
-
|
76
|
-
### 0.1.9 / 2014-10-07
|
77
|
-
|
78
|
-
* Add API endpoint for updating responses
|
79
|
-
|
80
|
-
### 0.1.8 / 2014-09-22
|
81
|
-
|
82
|
-
* Add API endpoint for creating responses
|
83
|
-
|
84
|
-
### 0.1.7 / 2014-07-10
|
85
|
-
|
86
|
-
* Add id to responses api
|
87
|
-
|
88
|
-
### 0.1.6 / 2014-07-02
|
89
|
-
|
90
|
-
* Implement start\_fill\_out session for aborted answers
|
91
|
-
* Add id to the responses api
|
92
|
-
* Add 'aborted' status to the responses api
|
93
|
-
* Allow multiple questionnaires in start\_fill\_out_session api
|
94
|
-
|
95
|
-
### 0.1.5 / 2014-06-10
|
96
|
-
|
97
|
-
* Added CreateFillOutRequest
|
98
|
-
|
99
|
-
### 0.1.4 / 2014-05-26
|
100
|
-
|
101
|
-
* add answers and outcome to rom responses api
|
102
|
-
|
103
|
-
### 0.1.3 / 2014-05-20
|
104
|
-
|
105
|
-
* remove next_run_time from protocol_subscriptions api
|
106
|
-
|
107
|
-
### 0.1.2 / 2014-05-13
|
108
|
-
|
109
|
-
#### Responses API
|
110
|
-
* rename Responses to ListResponses
|
111
|
-
* return responses through `result` accessor
|
112
|
-
|
113
|
-
#### ProtocolSubscriptions API
|
114
|
-
* rename ProtocolSubscriptions to ListProtocolSubscriptions
|
115
|
-
* return protocol_subscriptions through `result` accessor
|
116
|
-
* remove `state` from ProtocolSubscriptions API
|
117
|
-
* only list active ProtocolSubscriptions
|
118
|
-
|
119
|
-
#### FillOutSessions API
|
120
|
-
* return questionnaire_url through `result` accessor
|
121
|
-
|
122
|
-
#### Localization
|
123
|
-
* Instead of full messages the HTTP API returns hashes with attribute and error keys. The Ruby Gem uses these keys to compile localized messages using I18n.
|
124
|
-
|
125
|
-
#### Validations
|
126
|
-
* Some of the 422 response codes are changed to 404 and will now raise an exception when using the Ruby Gem. See the [HTTP API documentation](http://docs.roqua.net/developer/rom_v1/dossier/) for more info.
|
127
|
-
|
128
|
-
### 0.1.1 / 2014-04-23
|
129
|
-
|
130
|
-
* Validate api responses
|
131
|
-
* From now on the Responses API is accessible through the Responses interactor. The received responses can be obtained through the `#responses` accessor when the interactor outcome is valid.
|
132
|
-
* Similarly the the ProtocolSubscriptions API is hence forth accessible through the ProtocolSubscriptions interactor. The received protocol subscriptions can be obtained through the `#protocol_subscriptions` accessor when the interactor outcome is valid.
|
133
|
-
* Add accessor for fill_out_session api questionnaire_url
|
134
|
-
* Update documentation in README
|
135
|
-
|
136
|
-
### 0.0.9 / 2014-04-14
|
137
|
-
|
138
|
-
* Added Virtus to the gemspec
|
139
|
-
* Model::Response date attributes are DateTimes now.
|
140
|
-
* Added list_protocol_subscriptions
|
141
|
-
* Add fill_out sessions api
|
142
|
-
|
143
|
-
### 0.0.8 / 2014-03-13
|
144
|
-
|
145
|
-
* rename env vars for consistency with roqua-core-api gem
|
146
|
-
|
147
|
-
### 0.0.7 / 2014-03-13
|
148
|
-
|
149
|
-
* relax active-interaction version requirement
|
150
|
-
|
151
|
-
### 0.0.6 / 2014-03-12
|
152
|
-
|
153
|
-
* Fix ProtocolSubscription api return value
|
154
|
-
|
155
|
-
### 0.0.5 / 2014-03-12
|
156
|
-
|
157
|
-
* Remove RoQua prefix from env vars
|
158
|
-
|
159
|
-
### 0.0.4 / 2014-03-06
|
160
|
-
|
161
|
-
* Use BasicAuthSession for http requests instead of RomApi::Base class
|
162
|
-
|
163
|
-
### 0.0.3 / 2014-02-18
|
164
|
-
|
165
|
-
* Remove daily start time from api
|
166
|
-
|
167
|
-
### 0.0.2 / 2014-02-17
|
168
|
-
|
169
|
-
* Raise when API response is not in 200 range
|
170
|
-
|
171
|
-
### 0.0.1 / 2014-02-14
|
172
|
-
|
173
|
-
* Initial release:
|
174
|
-
|
175
|
-
Here be dragons
|
data/Gemfile
DELETED
data/Guardfile
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
guard :bundler do
|
2
|
-
require 'guard/bundler'
|
3
|
-
require 'guard/bundler/verify'
|
4
|
-
helper = Guard::Bundler::Verify.new
|
5
|
-
|
6
|
-
files = ['Gemfile']
|
7
|
-
files += Dir['*.gemspec'] if files.any? { |f| helper.uses_gemspec?(f) }
|
8
|
-
|
9
|
-
# Assume files are symlinked from somewhere
|
10
|
-
files.each { |file| watch(helper.real_path(file)) }
|
11
|
-
end
|
12
|
-
|
13
|
-
guard :rspec, cmd: "bundle exec rspec" do
|
14
|
-
require "guard/rspec/dsl"
|
15
|
-
dsl = Guard::RSpec::Dsl.new(self)
|
16
|
-
|
17
|
-
# Feel free to open issues for suggestions and improvements
|
18
|
-
|
19
|
-
# RSpec files
|
20
|
-
rspec = dsl.rspec
|
21
|
-
watch(rspec.spec_helper) { rspec.spec_dir }
|
22
|
-
watch(rspec.spec_support) { rspec.spec_dir }
|
23
|
-
watch(rspec.spec_files)
|
24
|
-
|
25
|
-
# Ruby files
|
26
|
-
ruby = dsl.ruby
|
27
|
-
dsl.watch_spec_files_for(ruby.lib_files)
|
28
|
-
end
|
data/roqua_rom_api.gemspec
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require File.expand_path('../lib/roqua/rom_api/version', __FILE__)
|
3
|
-
|
4
|
-
Gem::Specification.new do |gem|
|
5
|
-
gem.name = "roqua-rom-api"
|
6
|
-
gem.version = Roqua::RomApi::VERSION
|
7
|
-
gem.summary = "API wrapper gem around RoQua's ROM API"
|
8
|
-
gem.description = 'Provides authenticated access to ROM utilities'
|
9
|
-
gem.license = "MIT"
|
10
|
-
gem.authors = ['Samuel Esposito', 'Marten Veldthuis', 'Ivan Malykh', 'Henk van der Veen', 'Jorn van de Beek']
|
11
|
-
gem.email = "support@roqua.nl"
|
12
|
-
gem.homepage = "https://github.com/roqua/roqua/blob/master/rom_api/README.md"
|
13
|
-
|
14
|
-
gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
15
|
-
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
16
|
-
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
17
|
-
gem.require_paths = ['lib']
|
18
|
-
|
19
|
-
gem.add_dependency 'httparty', '~> 0.14.0'
|
20
|
-
gem.add_dependency 'active_interaction', '~> 3.2'
|
21
|
-
gem.add_dependency 'virtus', '~> 1.0'
|
22
|
-
|
23
|
-
gem.add_development_dependency 'bundler', '~> 1.6'
|
24
|
-
gem.add_development_dependency 'rake', '~> 10.2'
|
25
|
-
gem.add_development_dependency 'yard', '~> 0.8'
|
26
|
-
gem.add_development_dependency 'rspec', '~> 3.0.0'
|
27
|
-
gem.add_development_dependency 'fabrication', '~> 2.9'
|
28
|
-
gem.add_development_dependency 'ruby_dep', '~> 1.3.1' # updgrade to 1.4 when switched to Ruby 2.2.5 or 2.3
|
29
|
-
end
|