ncs_navigator_configuration 0.2.0 → 0.3.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.
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,17 @@
|
|
1
1
|
NCS Navigator Configuration gem history
|
2
2
|
=======================================
|
3
3
|
|
4
|
+
0.3.0
|
5
|
+
-----
|
6
|
+
|
7
|
+
- New optional study center attribute: short_name. (#10)
|
8
|
+
- New optional attribute for Staff Portal and Core: mail_from. (#8)
|
9
|
+
- New optional study center attribute: `exception_email_recipients`. (#9)
|
10
|
+
|
4
11
|
0.2.0
|
5
12
|
-----
|
6
13
|
|
7
|
-
- New mandatory study center attribute: recruitment_type_id
|
14
|
+
- New mandatory study center attribute: `recruitment_type_id`.
|
8
15
|
|
9
16
|
- Be more flexible about whitespace when parsing sampling unit CSV.
|
10
17
|
|
@@ -128,6 +128,8 @@ module NcsNavigator
|
|
128
128
|
URI.parse(raw_value.to_s)
|
129
129
|
when type == 'Boolean'
|
130
130
|
raw_value.to_s.downcase.strip == 'true' ? true : false
|
131
|
+
when type == Array
|
132
|
+
coerce_to_string_array(raw_value)
|
131
133
|
else
|
132
134
|
fail "Do not know how to coerce to #{type} for #{name} from [#{section}]: #{key}"
|
133
135
|
end
|
@@ -141,6 +143,10 @@ module NcsNavigator
|
|
141
143
|
config.ini_filename.dirname + base
|
142
144
|
end
|
143
145
|
end
|
146
|
+
|
147
|
+
def coerce_to_string_array(raw_value)
|
148
|
+
raw_value.split(/\s*,\s*/)
|
149
|
+
end
|
144
150
|
end
|
145
151
|
end
|
146
152
|
|
@@ -172,6 +178,18 @@ module NcsNavigator
|
|
172
178
|
configuration_attribute :recruitment_type_id, 'Study Center', 'recruitment_type_id', String,
|
173
179
|
:required => true
|
174
180
|
|
181
|
+
##
|
182
|
+
# A short, human-readable name or abbreviation for the Study
|
183
|
+
# Center.
|
184
|
+
configuration_attribute :study_center_short_name, 'Study Center', 'short_name', String,
|
185
|
+
:default => 'SC'
|
186
|
+
|
187
|
+
##
|
188
|
+
# The e-mail addresses which will receive uncaught exceptions from
|
189
|
+
# any application in the suite.
|
190
|
+
configuration_attribute :exception_email_recipients, 'Study Center',
|
191
|
+
'exception_email_recipients', Array, :default => []
|
192
|
+
|
175
193
|
##
|
176
194
|
# The name for the institutional identity used in this deployment
|
177
195
|
# of NCS Navigator. For instance, for the Greater Chicago Study
|
@@ -211,11 +229,21 @@ module NcsNavigator
|
|
211
229
|
# the suite.
|
212
230
|
configuration_attribute :staff_portal_uri, 'Staff Portal', 'uri', URI, :required => true
|
213
231
|
|
232
|
+
##
|
233
|
+
# The address from which mail sent by Staff Portal will appear to come.
|
234
|
+
configuration_attribute :staff_portal_mail_from, 'Staff Portal', 'mail_from', String,
|
235
|
+
:default => 'ops@navigator.example.edu'
|
236
|
+
|
214
237
|
##
|
215
238
|
# The root URI for the NCS Navigator Core deployment in this instance of
|
216
239
|
# the suite.
|
217
240
|
configuration_attribute :core_uri, 'Core', 'uri', URI, :required => true
|
218
241
|
|
242
|
+
##
|
243
|
+
# The address from which mail sent by Core will appear to come.
|
244
|
+
configuration_attribute :core_mail_from, 'Core', 'mail_from', String,
|
245
|
+
:default => 'cases@navigator.example.edu'
|
246
|
+
|
219
247
|
##
|
220
248
|
# The root URI for the PSC deployment in this instance of
|
221
249
|
# the suite.
|
data/sample_configuration.ini
CHANGED
@@ -23,6 +23,10 @@ sc_id = "20000000"
|
|
23
23
|
# 4 => Original VC
|
24
24
|
recruitment_type_id = "3"
|
25
25
|
|
26
|
+
# A short (5 chars or less) human-readable abbreviation for the study
|
27
|
+
# center.
|
28
|
+
short_name = 'MSC'
|
29
|
+
|
26
30
|
# A pointer to a CSV describing the sampling units for this study
|
27
31
|
# center. If the path is not absolute it will be resolved relative to
|
28
32
|
# this file.
|
@@ -72,7 +76,7 @@ Chicago, IL 60611"
|
|
72
76
|
# The root URI for Staff Portal.
|
73
77
|
uri = "https://staffportal.greaterchicagoncs.org/"
|
74
78
|
|
75
|
-
# The e-mail address from which mail sent by Staff
|
79
|
+
# The e-mail address from which mail sent by Staff Portal will
|
76
80
|
# appear to come.
|
77
81
|
mail_from = "staffportal@greaterchicagoncs.org"
|
78
82
|
|
@@ -83,6 +87,10 @@ mail_from = "staffportal@greaterchicagoncs.org"
|
|
83
87
|
# The root URI for NCS Navigator Core.
|
84
88
|
uri = "https://ncsnavigator.greaterchicagoncs.org/"
|
85
89
|
|
90
|
+
# The e-mail address from which mail sent by Core will
|
91
|
+
# appear to come.
|
92
|
+
mail_from = "ncs-navigator@greaterchicagoncs.org"
|
93
|
+
|
86
94
|
[PSC]
|
87
95
|
# Configuration options which describe PSC as used by this instance of
|
88
96
|
# the suite. (For now, PSC's own configuration options must be set
|
@@ -65,7 +65,7 @@ module NcsNavigator
|
|
65
65
|
'uri' => 'https://sp.example.edu/'
|
66
66
|
},
|
67
67
|
'Core' => {
|
68
|
-
'uri' => 'https://ncsn.example.edu/'
|
68
|
+
'uri' => 'https://ncsn.example.edu/',
|
69
69
|
},
|
70
70
|
'PSC' => {
|
71
71
|
'uri' => 'https://psc.example.edu/'
|
@@ -131,6 +131,17 @@ module NcsNavigator
|
|
131
131
|
end
|
132
132
|
end
|
133
133
|
|
134
|
+
describe '#study_center_short_name' do
|
135
|
+
it 'defaults to SC' do
|
136
|
+
from_hash.study_center_short_name.should == 'SC'
|
137
|
+
end
|
138
|
+
|
139
|
+
it 'reflects the configured value' do
|
140
|
+
input_hash['Study Center']['short_name'] = 'GCSC'
|
141
|
+
from_hash.study_center_short_name.should == 'GCSC'
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
134
145
|
describe '#study_center_username' do
|
135
146
|
it 'reflects the configured value' do
|
136
147
|
everything.study_center_username.should == 'NetID'
|
@@ -141,6 +152,19 @@ module NcsNavigator
|
|
141
152
|
end
|
142
153
|
end
|
143
154
|
|
155
|
+
describe '#exception_email_recipients' do
|
156
|
+
it 'reflects the configured value' do
|
157
|
+
everything.exception_email_recipients.should == [
|
158
|
+
'Fred MacMurray <fred@pacificlife.net>',
|
159
|
+
'Barbara Stanwyck <b@aol.com>'
|
160
|
+
]
|
161
|
+
end
|
162
|
+
|
163
|
+
it 'is optional' do
|
164
|
+
from_hash.exception_email_recipients.should be_empty
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
144
168
|
describe '#sampling_units_file' do
|
145
169
|
it 'reflects the configured value, absolutized, when read from an INI' do
|
146
170
|
everything.sampling_units_file.to_s.should ==
|
@@ -362,6 +386,16 @@ module NcsNavigator
|
|
362
386
|
everything.staff_portal['mail_from'].should == "staffportal@greaterchicagoncs.org"
|
363
387
|
end
|
364
388
|
end
|
389
|
+
|
390
|
+
describe '#staff_portal_mail_from' do
|
391
|
+
it 'is the configured value' do
|
392
|
+
everything.staff_portal_mail_from.should == 'staffportal@greaterchicagoncs.org'
|
393
|
+
end
|
394
|
+
|
395
|
+
it 'has a reasonable default' do
|
396
|
+
from_hash.staff_portal_mail_from.should == 'ops@navigator.example.edu'
|
397
|
+
end
|
398
|
+
end
|
365
399
|
end
|
366
400
|
|
367
401
|
describe 'Core parts' do
|
@@ -382,6 +416,16 @@ module NcsNavigator
|
|
382
416
|
everything.core['uri'].should == "https://ncsnavigator.greaterchicagoncs.org/"
|
383
417
|
end
|
384
418
|
end
|
419
|
+
|
420
|
+
describe '#core_mail_from' do
|
421
|
+
it 'is the configured value' do
|
422
|
+
everything.core_mail_from.should == 'ncs-navigator@greaterchicagoncs.org'
|
423
|
+
end
|
424
|
+
|
425
|
+
it 'has a reasonable default' do
|
426
|
+
from_hash.core_mail_from.should == 'cases@navigator.example.edu'
|
427
|
+
end
|
428
|
+
end
|
385
429
|
end
|
386
430
|
|
387
431
|
describe 'PSC parts' do
|
@@ -13,12 +13,15 @@ Northwestern University
|
|
13
13
|
420 East Superior, 10th Floor
|
14
14
|
Chicago, IL 60611"
|
15
15
|
|
16
|
+
exception_email_recipients = Fred MacMurray <fred@pacificlife.net>, Barbara Stanwyck <b@aol.com>
|
17
|
+
|
16
18
|
[Staff Portal]
|
17
19
|
uri = "https://staffportal.greaterchicagoncs.org/"
|
18
20
|
mail_from = "staffportal@greaterchicagoncs.org"
|
19
21
|
|
20
22
|
[Core]
|
21
23
|
uri = "https://ncsnavigator.greaterchicagoncs.org/"
|
24
|
+
mail_from = "ncs-navigator@greaterchicagoncs.org"
|
22
25
|
|
23
26
|
[PSC]
|
24
27
|
uri = "https://calendar.greaterchicagoncs.org/"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ncs_navigator_configuration
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-07-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ncs_mdes
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0.4'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.4'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: inifile
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: 0.4.1
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.4.1
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: fastercsv
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '1.5'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.5'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rake
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: 0.9.2
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.9.2
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: rspec
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ~>
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '2.6'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '2.6'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: yard
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ~>
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: 0.7.2
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.7.2
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: fakefs
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ~>
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: 0.3.2
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.3.2
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: ci_reporter
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ~>
|
@@ -98,7 +133,12 @@ dependencies:
|
|
98
133
|
version: '1.6'
|
99
134
|
type: :development
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '1.6'
|
102
142
|
description: ! "\n An internal component of the NCS Navigator suite, this gem provides
|
103
143
|
a common view\n onto shared configuration elements.\n "
|
104
144
|
email:
|
@@ -139,15 +179,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
139
179
|
- - ! '>='
|
140
180
|
- !ruby/object:Gem::Version
|
141
181
|
version: '0'
|
182
|
+
segments:
|
183
|
+
- 0
|
184
|
+
hash: 2522240099632272850
|
142
185
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
186
|
none: false
|
144
187
|
requirements:
|
145
188
|
- - ! '>='
|
146
189
|
- !ruby/object:Gem::Version
|
147
190
|
version: '0'
|
191
|
+
segments:
|
192
|
+
- 0
|
193
|
+
hash: 2522240099632272850
|
148
194
|
requirements: []
|
149
195
|
rubyforge_project:
|
150
|
-
rubygems_version: 1.8.
|
196
|
+
rubygems_version: 1.8.24
|
151
197
|
signing_key:
|
152
198
|
specification_version: 3
|
153
199
|
summary: Common configuration elements for the NCS Navigator suite
|