surveyor 0.22.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. data/.gitignore +1 -0
  2. data/.rspec +1 -0
  3. data/CHANGELOG.md +83 -0
  4. data/Gemfile.rails_version +7 -1
  5. data/README.md +114 -16
  6. data/Rakefile +15 -9
  7. data/app/inputs/quiet_input.rb +5 -0
  8. data/app/inputs/surveyor_check_boxes_input.rb +35 -0
  9. data/app/inputs/surveyor_radio_input.rb +18 -0
  10. data/app/views/partials/_answer.html.haml +4 -4
  11. data/app/views/partials/_question.html.haml +7 -7
  12. data/app/views/partials/_question_group.html.haml +9 -8
  13. data/app/views/surveyor/export.json.rabl +28 -25
  14. data/app/views/surveyor/new.html.haml +8 -5
  15. data/app/views/surveyor/show.json.rabl +3 -2
  16. data/ci-exec.sh +13 -7
  17. data/cucumber.yml +3 -3
  18. data/doc/REPRESENTATIONS.md +34 -0
  19. data/doc/api_id_schema.json +7 -0
  20. data/doc/response_set_schema.json +54 -0
  21. data/doc/surveyor question combinations.png +0 -0
  22. data/doc/surveyor_timestamp_schema.json +9 -0
  23. data/features/ajax_submissions.feature +140 -0
  24. data/features/export_to_json.feature +182 -34
  25. data/features/no_duplicates.feature +110 -0
  26. data/features/show_survey.feature +1 -1
  27. data/features/step_definitions/parser_steps.rb +25 -2
  28. data/features/step_definitions/surveyor_steps.rb +145 -20
  29. data/features/step_definitions/ui_steps.rb +3 -0
  30. data/features/support/database_cleaner.rb +16 -0
  31. data/features/support/env.rb +21 -17
  32. data/features/support/simultaneous_ajax.rb +101 -0
  33. data/features/support/single_quit_selenium_driver.rb +23 -0
  34. data/features/support/slow_updates.rb +18 -0
  35. data/features/surveyor.feature +174 -44
  36. data/features/surveyor_dependencies.feature +80 -39
  37. data/features/surveyor_parser.feature +114 -20
  38. data/features/z_redcap_parser.feature +0 -1
  39. data/lib/{generators/surveyor/templates/public → assets}/images/surveyor/next.gif +0 -0
  40. data/lib/{generators/surveyor/templates/public → assets}/images/surveyor/prev.gif +0 -0
  41. data/lib/{generators/surveyor/templates/public/stylesheets/surveyor → assets/images}/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  42. data/lib/{generators/surveyor/templates/public/stylesheets/surveyor → assets/images}/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  43. data/lib/{generators/surveyor/templates/public/stylesheets/surveyor → assets/images}/ui-bg_glass_65_ffffff_1x400.png +0 -0
  44. data/lib/{generators/surveyor/templates/public/stylesheets/surveyor → assets/images}/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  45. data/lib/assets/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  46. data/lib/{generators/surveyor/templates/public/stylesheets/surveyor → assets/images}/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  47. data/lib/{generators/surveyor/templates/public/stylesheets/surveyor → assets/images}/ui-icons_ef8c08_256x240.png +0 -0
  48. data/lib/{generators/surveyor/templates/public/stylesheets/surveyor → assets/images}/ui-icons_ffffff_256x240.png +0 -0
  49. data/lib/{generators/surveyor/templates/public → assets}/javascripts/surveyor/jquery-ui-timepicker-addon.js +23 -23
  50. data/lib/{generators/surveyor/templates/public → assets}/javascripts/surveyor/jquery-ui.js +125 -125
  51. data/lib/assets/javascripts/surveyor/jquery.selectToUISlider.js +240 -0
  52. data/lib/{generators/surveyor/templates/public → assets}/javascripts/surveyor/jquery.surveyor.js +52 -57
  53. data/lib/{generators/surveyor/templates/public → assets}/javascripts/surveyor/jquery.tools.min.js +7 -7
  54. data/lib/{generators/surveyor/templates/public → assets}/stylesheets/surveyor/dateinput.css +13 -13
  55. data/lib/{generators/surveyor/templates/public → assets}/stylesheets/surveyor/jquery-ui-timepicker-addon.css +0 -0
  56. data/lib/{generators/surveyor/templates/public → assets}/stylesheets/surveyor/jquery-ui.custom.css +17 -17
  57. data/lib/{generators/surveyor/templates/public → assets}/stylesheets/surveyor/reset.css +1 -1
  58. data/lib/{generators/surveyor/templates/public → assets}/stylesheets/surveyor/results.css +0 -0
  59. data/lib/assets/stylesheets/surveyor/ui.slider.extras.css +110 -0
  60. data/lib/{generators/surveyor/templates/public/stylesheets/sass → assets/stylesheets}/surveyor.sass +15 -7
  61. data/lib/generators/surveyor/custom_generator.rb +3 -2
  62. data/lib/generators/surveyor/install_generator.rb +59 -17
  63. data/lib/generators/surveyor/templates/app/assets/javascripts/surveyor_all.js +5 -0
  64. data/lib/generators/surveyor/templates/app/assets/stylesheets/surveyor_all.css +9 -0
  65. data/lib/generators/surveyor/templates/app/controllers/surveyor_controller.rb +2 -1
  66. data/lib/generators/surveyor/templates/app/views/layouts/surveyor_custom.html.erb +1 -0
  67. data/lib/generators/surveyor/templates/config/locales/surveyor_es.yml +1 -0
  68. data/lib/generators/surveyor/templates/config/locales/surveyor_he.yml +1 -0
  69. data/lib/generators/surveyor/templates/db/migrate/add_api_id_to_question_groups.rb +1 -0
  70. data/lib/generators/surveyor/templates/db/migrate/add_api_ids.rb +1 -0
  71. data/lib/generators/surveyor/templates/db/migrate/add_api_ids_to_response_sets_and_responses.rb +1 -0
  72. data/lib/generators/surveyor/templates/db/migrate/add_correct_answer_id_to_questions.rb +1 -0
  73. data/lib/generators/surveyor/templates/db/migrate/add_default_value_to_answers.rb +1 -0
  74. data/lib/generators/surveyor/templates/db/migrate/add_display_order_to_surveys.rb +1 -0
  75. data/lib/generators/surveyor/templates/db/migrate/add_display_type_to_answers.rb +1 -0
  76. data/lib/generators/surveyor/templates/db/migrate/add_index_to_response_sets.rb +1 -0
  77. data/lib/generators/surveyor/templates/db/migrate/add_index_to_surveys.rb +1 -0
  78. data/lib/generators/surveyor/templates/db/migrate/add_section_id_to_responses.rb +1 -0
  79. data/lib/generators/surveyor/templates/db/migrate/add_unique_index_on_access_code_and_version_in_surveys.rb +10 -0
  80. data/lib/generators/surveyor/templates/db/migrate/add_unique_indicies.rb +3 -2
  81. data/lib/generators/surveyor/templates/db/migrate/add_version_to_surveys.rb +10 -0
  82. data/lib/generators/surveyor/templates/db/migrate/api_ids_must_be_unique.rb +23 -0
  83. data/lib/generators/surveyor/templates/db/migrate/create_answers.rb +6 -5
  84. data/lib/generators/surveyor/templates/db/migrate/create_dependencies.rb +2 -1
  85. data/lib/generators/surveyor/templates/db/migrate/create_dependency_conditions.rb +2 -1
  86. data/lib/generators/surveyor/templates/db/migrate/create_question_groups.rb +5 -4
  87. data/lib/generators/surveyor/templates/db/migrate/create_questions.rb +4 -3
  88. data/lib/generators/surveyor/templates/db/migrate/create_response_sets.rb +1 -0
  89. data/lib/generators/surveyor/templates/db/migrate/create_responses.rb +10 -9
  90. data/lib/generators/surveyor/templates/db/migrate/create_survey_sections.rb +5 -4
  91. data/lib/generators/surveyor/templates/db/migrate/create_surveys.rb +4 -3
  92. data/lib/generators/surveyor/templates/db/migrate/create_validation_conditions.rb +5 -4
  93. data/lib/generators/surveyor/templates/db/migrate/create_validations.rb +3 -2
  94. data/lib/generators/surveyor/templates/db/migrate/drop_unique_index_on_access_code_in_surveys.rb +10 -0
  95. data/lib/generators/surveyor/templates/db/migrate/update_blank_api_ids_on_question_group.rb +22 -0
  96. data/lib/generators/surveyor/templates/db/migrate/update_blank_versions_on_surveys.rb +13 -0
  97. data/lib/generators/surveyor/templates/surveys/date_survey.rb +1 -0
  98. data/lib/generators/surveyor/templates/surveys/kitchen_sink_survey.rb +54 -24
  99. data/lib/generators/surveyor/templates/surveys/quiz.rb +1 -0
  100. data/lib/generators/surveyor/templates/{public/stylesheets/sass → vendor/assets/stylesheets}/custom.sass +1 -1
  101. data/lib/surveyor/common.rb +16 -31
  102. data/lib/surveyor/engine.rb +2 -4
  103. data/lib/surveyor/helpers/asset_pipeline.rb +13 -0
  104. data/lib/surveyor/helpers/formtastic_custom_input.rb +17 -0
  105. data/lib/surveyor/helpers/surveyor_helper_methods.rb +10 -8
  106. data/lib/surveyor/models/answer_methods.rb +3 -0
  107. data/lib/surveyor/models/dependency_condition_methods.rb +27 -28
  108. data/lib/surveyor/models/dependency_methods.rb +3 -0
  109. data/lib/surveyor/models/question_group_methods.rb +3 -0
  110. data/lib/surveyor/models/question_methods.rb +10 -7
  111. data/lib/surveyor/models/response_methods.rb +16 -0
  112. data/lib/surveyor/models/response_set_methods.rb +71 -64
  113. data/lib/surveyor/models/survey_methods.rb +19 -28
  114. data/lib/surveyor/models/survey_section_methods.rb +3 -0
  115. data/lib/surveyor/models/validation_condition_methods.rb +4 -2
  116. data/lib/surveyor/models/validation_methods.rb +3 -0
  117. data/lib/surveyor/parser.rb +198 -148
  118. data/lib/surveyor/redcap_parser.rb +120 -80
  119. data/lib/surveyor/surveyor_controller_methods.rb +86 -37
  120. data/lib/surveyor/version.rb +2 -2
  121. data/lib/surveyor.rb +5 -6
  122. data/lib/tasks/surveyor_tasks.rake +19 -7
  123. data/spec/controllers/surveyor_controller_spec.rb +166 -92
  124. data/spec/factories.rb +33 -32
  125. data/spec/helpers/formtastic_custom_input_spec.rb +16 -0
  126. data/spec/lib/common_spec.rb +0 -39
  127. data/spec/lib/redcap_parser_spec.rb +24 -24
  128. data/spec/models/answer_spec.rb +12 -0
  129. data/spec/models/dependency_condition_spec.rb +279 -323
  130. data/spec/models/dependency_spec.rb +10 -0
  131. data/spec/models/question_group_spec.rb +12 -0
  132. data/spec/models/question_spec.rb +12 -0
  133. data/spec/models/response_set_spec.rb +189 -139
  134. data/spec/models/response_spec.rb +60 -0
  135. data/spec/models/survey_section_spec.rb +9 -0
  136. data/spec/models/survey_spec.rb +72 -9
  137. data/spec/models/validation_condition_spec.rb +9 -1
  138. data/spec/models/validation_spec.rb +10 -0
  139. data/spec/spec_helper.rb +25 -6
  140. data/surveyor.gemspec +5 -4
  141. metadata +332 -291
  142. data/features/step_definitions/common_steps.rb +0 -3
  143. data/lib/formtastic/surveyor_builder.rb +0 -82
  144. data/lib/generators/surveyor/templates/public/javascripts/surveyor/jquery.blockUI.js +0 -499
metadata CHANGED
@@ -1,336 +1,352 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: surveyor
3
- version: !ruby/object:Gem::Version
4
- hash: 71
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 22
9
- - 0
10
- version: 0.22.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Brian Chamberlain
14
9
  - Mark Yoon
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2012-04-04 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
13
+ date: 2012-10-16 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: rails
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
19
+ requirements:
27
20
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 7
30
- segments:
31
- - 3
32
- - 0
33
- version: "3.0"
21
+ - !ruby/object:Gem::Version
22
+ version: '3.0'
34
23
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: haml
38
24
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: '3.0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: haml
33
+ requirement: !ruby/object:Gem::Requirement
40
34
  none: false
41
- requirements:
35
+ requirements:
42
36
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 5
45
- segments:
46
- - 3
47
- - 1
48
- - 3
37
+ - !ruby/object:Gem::Version
49
38
  version: 3.1.3
50
39
  type: :runtime
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: sass
54
40
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 3
61
- segments:
62
- - 0
63
- version: "0"
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: 3.1.3
47
+ - !ruby/object:Gem::Dependency
48
+ name: sass
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
64
55
  type: :runtime
65
- version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: fastercsv
68
56
  prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
57
+ version_requirements: !ruby/object:Gem::Requirement
70
58
  none: false
71
- requirements:
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: fastercsv
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
72
68
  - - ~>
73
- - !ruby/object:Gem::Version
74
- hash: 11
75
- segments:
76
- - 1
77
- - 5
78
- - 4
69
+ - !ruby/object:Gem::Version
79
70
  version: 1.5.4
80
71
  type: :runtime
81
- version_requirements: *id004
82
- - !ruby/object:Gem::Dependency
83
- name: formtastic
84
72
  prerelease: false
85
- requirement: &id005 !ruby/object:Gem::Requirement
73
+ version_requirements: !ruby/object:Gem::Requirement
86
74
  none: false
87
- requirements:
75
+ requirements:
88
76
  - - ~>
89
- - !ruby/object:Gem::Version
90
- hash: 23
91
- segments:
92
- - 1
93
- - 2
94
- - 4
95
- version: 1.2.4
77
+ - !ruby/object:Gem::Version
78
+ version: 1.5.4
79
+ - !ruby/object:Gem::Dependency
80
+ name: formtastic
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ version: 2.1.0
96
87
  type: :runtime
97
- version_requirements: *id005
98
- - !ruby/object:Gem::Dependency
99
- name: uuidtools
100
88
  prerelease: false
101
- requirement: &id006 !ruby/object:Gem::Requirement
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ version: 2.1.0
95
+ - !ruby/object:Gem::Dependency
96
+ name: uuidtools
97
+ requirement: !ruby/object:Gem::Requirement
102
98
  none: false
103
- requirements:
99
+ requirements:
104
100
  - - ~>
105
- - !ruby/object:Gem::Version
106
- hash: 1
107
- segments:
108
- - 2
109
- - 1
110
- version: "2.1"
101
+ - !ruby/object:Gem::Version
102
+ version: '2.1'
111
103
  type: :runtime
112
- version_requirements: *id006
113
- - !ruby/object:Gem::Dependency
114
- name: mustache
115
104
  prerelease: false
116
- requirement: &id007 !ruby/object:Gem::Requirement
117
- none: false
118
- requirements:
119
- - - "="
120
- - !ruby/object:Gem::Version
121
- hash: 411
122
- segments:
123
- - 0
124
- - 99
125
- - 4
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '2.1'
111
+ - !ruby/object:Gem::Dependency
112
+ name: mustache
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - '='
117
+ - !ruby/object:Gem::Version
126
118
  version: 0.99.4
127
119
  type: :runtime
128
- version_requirements: *id007
129
- - !ruby/object:Gem::Dependency
130
- name: rabl
131
120
  prerelease: false
132
- requirement: &id008 !ruby/object:Gem::Requirement
121
+ version_requirements: !ruby/object:Gem::Requirement
133
122
  none: false
134
- requirements:
123
+ requirements:
124
+ - - '='
125
+ - !ruby/object:Gem::Version
126
+ version: 0.99.4
127
+ - !ruby/object:Gem::Dependency
128
+ name: rabl
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
135
132
  - - ~>
136
- - !ruby/object:Gem::Version
137
- hash: 11
138
- segments:
139
- - 0
140
- - 6
141
- - 6
142
- version: 0.6.6
133
+ - !ruby/object:Gem::Version
134
+ version: 0.6.13
143
135
  type: :runtime
144
- version_requirements: *id008
145
- - !ruby/object:Gem::Dependency
146
- name: yard
147
136
  prerelease: false
148
- requirement: &id009 !ruby/object:Gem::Requirement
149
- none: false
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- hash: 3
154
- segments:
155
- - 0
156
- version: "0"
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
142
+ version: 0.6.13
143
+ - !ruby/object:Gem::Dependency
144
+ name: yard
145
+ requirement: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
157
151
  type: :development
158
- version_requirements: *id009
159
- - !ruby/object:Gem::Dependency
160
- name: rake
161
152
  prerelease: false
162
- requirement: &id010 !ruby/object:Gem::Requirement
163
- none: false
164
- requirements:
165
- - - "="
166
- - !ruby/object:Gem::Version
167
- hash: 49
168
- segments:
169
- - 0
170
- - 8
171
- - 7
172
- version: 0.8.7
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: rake
161
+ requirement: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: 0.9.2
173
167
  type: :development
174
- version_requirements: *id010
175
- - !ruby/object:Gem::Dependency
176
- name: rspec-rails
177
168
  prerelease: false
178
- requirement: &id011 !ruby/object:Gem::Requirement
169
+ version_requirements: !ruby/object:Gem::Requirement
179
170
  none: false
180
- requirements:
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: 0.9.2
175
+ - !ruby/object:Gem::Dependency
176
+ name: rspec-rails
177
+ requirement: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
181
180
  - - ~>
182
- - !ruby/object:Gem::Version
183
- hash: 23
184
- segments:
185
- - 2
186
- - 6
187
- - 0
188
- version: 2.6.0
181
+ - !ruby/object:Gem::Version
182
+ version: 2.9.0
189
183
  type: :development
190
- version_requirements: *id011
191
- - !ruby/object:Gem::Dependency
192
- name: bundler
193
184
  prerelease: false
194
- requirement: &id012 !ruby/object:Gem::Requirement
185
+ version_requirements: !ruby/object:Gem::Requirement
195
186
  none: false
196
- requirements:
187
+ requirements:
197
188
  - - ~>
198
- - !ruby/object:Gem::Version
199
- hash: 15
200
- segments:
201
- - 1
202
- - 0
203
- version: "1.0"
204
- - - ">="
205
- - !ruby/object:Gem::Version
206
- hash: 61
207
- segments:
208
- - 1
209
- - 0
210
- - 21
189
+ - !ruby/object:Gem::Version
190
+ version: 2.9.0
191
+ - !ruby/object:Gem::Dependency
192
+ name: bundler
193
+ requirement: !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ~>
197
+ - !ruby/object:Gem::Version
198
+ version: '1.0'
199
+ - - ! '>='
200
+ - !ruby/object:Gem::Version
211
201
  version: 1.0.21
212
202
  type: :development
213
- version_requirements: *id012
214
- - !ruby/object:Gem::Dependency
215
- name: factory_girl
216
203
  prerelease: false
217
- requirement: &id013 !ruby/object:Gem::Requirement
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ~>
208
+ - !ruby/object:Gem::Version
209
+ version: '1.0'
210
+ - - ! '>='
211
+ - !ruby/object:Gem::Version
212
+ version: 1.0.21
213
+ - !ruby/object:Gem::Dependency
214
+ name: factory_girl
215
+ requirement: !ruby/object:Gem::Requirement
218
216
  none: false
219
- requirements:
217
+ requirements:
220
218
  - - ~>
221
- - !ruby/object:Gem::Version
222
- hash: 15
223
- segments:
224
- - 2
225
- - 1
226
- - 2
219
+ - !ruby/object:Gem::Version
227
220
  version: 2.1.2
228
221
  type: :development
229
- version_requirements: *id013
230
- - !ruby/object:Gem::Dependency
231
- name: sqlite3
232
222
  prerelease: false
233
- requirement: &id014 !ruby/object:Gem::Requirement
234
- none: false
235
- requirements:
236
- - - ">="
237
- - !ruby/object:Gem::Version
238
- hash: 3
239
- segments:
240
- - 0
241
- version: "0"
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ none: false
225
+ requirements:
226
+ - - ~>
227
+ - !ruby/object:Gem::Version
228
+ version: 2.1.2
229
+ - !ruby/object:Gem::Dependency
230
+ name: sqlite3
231
+ requirement: !ruby/object:Gem::Requirement
232
+ none: false
233
+ requirements:
234
+ - - ! '>='
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
242
237
  type: :development
243
- version_requirements: *id014
244
- - !ruby/object:Gem::Dependency
245
- name: cucumber-rails
246
238
  prerelease: false
247
- requirement: &id015 !ruby/object:Gem::Requirement
239
+ version_requirements: !ruby/object:Gem::Requirement
248
240
  none: false
249
- requirements:
241
+ requirements:
242
+ - - ! '>='
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ - !ruby/object:Gem::Dependency
246
+ name: cucumber-rails
247
+ requirement: !ruby/object:Gem::Requirement
248
+ none: false
249
+ requirements:
250
250
  - - ~>
251
- - !ruby/object:Gem::Version
252
- hash: 17
253
- segments:
254
- - 1
255
- - 1
256
- - 1
251
+ - !ruby/object:Gem::Version
257
252
  version: 1.1.1
258
253
  type: :development
259
- version_requirements: *id015
260
- - !ruby/object:Gem::Dependency
261
- name: database_cleaner
262
254
  prerelease: false
263
- requirement: &id016 !ruby/object:Gem::Requirement
255
+ version_requirements: !ruby/object:Gem::Requirement
264
256
  none: false
265
- requirements:
257
+ requirements:
266
258
  - - ~>
267
- - !ruby/object:Gem::Version
268
- hash: 9
269
- segments:
270
- - 0
271
- - 6
272
- - 7
259
+ - !ruby/object:Gem::Version
260
+ version: 1.1.1
261
+ - !ruby/object:Gem::Dependency
262
+ name: database_cleaner
263
+ requirement: !ruby/object:Gem::Requirement
264
+ none: false
265
+ requirements:
266
+ - - ~>
267
+ - !ruby/object:Gem::Version
273
268
  version: 0.6.7
274
269
  type: :development
275
- version_requirements: *id016
276
- - !ruby/object:Gem::Dependency
277
- name: launchy
278
270
  prerelease: false
279
- requirement: &id017 !ruby/object:Gem::Requirement
271
+ version_requirements: !ruby/object:Gem::Requirement
280
272
  none: false
281
- requirements:
273
+ requirements:
282
274
  - - ~>
283
- - !ruby/object:Gem::Version
284
- hash: 5
285
- segments:
286
- - 2
287
- - 0
288
- - 5
275
+ - !ruby/object:Gem::Version
276
+ version: 0.6.7
277
+ - !ruby/object:Gem::Dependency
278
+ name: launchy
279
+ requirement: !ruby/object:Gem::Requirement
280
+ none: false
281
+ requirements:
282
+ - - ~>
283
+ - !ruby/object:Gem::Version
289
284
  version: 2.0.5
290
285
  type: :development
291
- version_requirements: *id017
292
- - !ruby/object:Gem::Dependency
293
- name: capybara
294
286
  prerelease: false
295
- requirement: &id018 !ruby/object:Gem::Requirement
287
+ version_requirements: !ruby/object:Gem::Requirement
296
288
  none: false
297
- requirements:
289
+ requirements:
298
290
  - - ~>
299
- - !ruby/object:Gem::Version
300
- hash: 17
301
- segments:
302
- - 1
303
- - 1
304
- - 1
291
+ - !ruby/object:Gem::Version
292
+ version: 2.0.5
293
+ - !ruby/object:Gem::Dependency
294
+ name: capybara
295
+ requirement: !ruby/object:Gem::Requirement
296
+ none: false
297
+ requirements:
298
+ - - ~>
299
+ - !ruby/object:Gem::Version
305
300
  version: 1.1.1
306
301
  type: :development
307
- version_requirements: *id018
308
- - !ruby/object:Gem::Dependency
302
+ prerelease: false
303
+ version_requirements: !ruby/object:Gem::Requirement
304
+ none: false
305
+ requirements:
306
+ - - ~>
307
+ - !ruby/object:Gem::Version
308
+ version: 1.1.1
309
+ - !ruby/object:Gem::Dependency
309
310
  name: ci_reporter
311
+ requirement: !ruby/object:Gem::Requirement
312
+ none: false
313
+ requirements:
314
+ - - '='
315
+ - !ruby/object:Gem::Version
316
+ version: 1.6.6
317
+ type: :development
310
318
  prerelease: false
311
- requirement: &id019 !ruby/object:Gem::Requirement
312
- none: false
313
- requirements:
314
- - - "="
315
- - !ruby/object:Gem::Version
316
- hash: 3
317
- segments:
318
- - 1
319
- - 6
320
- - 6
319
+ version_requirements: !ruby/object:Gem::Requirement
320
+ none: false
321
+ requirements:
322
+ - - '='
323
+ - !ruby/object:Gem::Version
321
324
  version: 1.6.6
325
+ - !ruby/object:Gem::Dependency
326
+ name: json_spec
327
+ requirement: !ruby/object:Gem::Requirement
328
+ none: false
329
+ requirements:
330
+ - - ~>
331
+ - !ruby/object:Gem::Version
332
+ version: 1.0.3
322
333
  type: :development
323
- version_requirements: *id019
334
+ prerelease: false
335
+ version_requirements: !ruby/object:Gem::Requirement
336
+ none: false
337
+ requirements:
338
+ - - ~>
339
+ - !ruby/object:Gem::Version
340
+ version: 1.0.3
324
341
  description:
325
342
  email: yoon@northwestern.edu
326
343
  executables: []
327
-
328
344
  extensions: []
329
-
330
345
  extra_rdoc_files: []
331
-
332
- files:
346
+ files:
333
347
  - .gitignore
348
+ - .rspec
349
+ - CHANGELOG.md
334
350
  - Gemfile
335
351
  - Gemfile.rails_version
336
352
  - MIT-LICENSE
@@ -340,6 +356,9 @@ files:
340
356
  - app/helpers/results_helper.rb
341
357
  - app/helpers/survey_form_builder.rb
342
358
  - app/helpers/surveyor_helper.rb
359
+ - app/inputs/quiet_input.rb
360
+ - app/inputs/surveyor_check_boxes_input.rb
361
+ - app/inputs/surveyor_radio_input.rb
343
362
  - app/models/answer.rb
344
363
  - app/models/dependency.rb
345
364
  - app/models/dependency_condition.rb
@@ -368,30 +387,64 @@ files:
368
387
  - ci-exec.sh
369
388
  - config/routes.rb
370
389
  - cucumber.yml
390
+ - doc/REPRESENTATIONS.md
391
+ - doc/api_id_schema.json
371
392
  - doc/question types.png
393
+ - doc/response_set_schema.json
394
+ - doc/surveyor question combinations.png
372
395
  - doc/surveyor reject or delete decision matrix.png
373
396
  - doc/surveyor_models.png
374
397
  - doc/surveyor_models2.png
398
+ - doc/surveyor_timestamp_schema.json
399
+ - features/ajax_submissions.feature
375
400
  - features/export_to_json.feature
401
+ - features/no_duplicates.feature
376
402
  - features/show_survey.feature
377
- - features/step_definitions/common_steps.rb
378
403
  - features/step_definitions/parser_steps.rb
379
404
  - features/step_definitions/surveyor_steps.rb
405
+ - features/step_definitions/ui_steps.rb
380
406
  - features/step_definitions/web_steps.rb
381
407
  - features/support/REDCapDemoDatabase_DataDictionary.csv
408
+ - features/support/database_cleaner.rb
382
409
  - features/support/env.rb
383
410
  - features/support/paths.rb
384
411
  - features/support/redcap_new_headers.csv
385
412
  - features/support/redcap_siblings.csv
386
413
  - features/support/redcap_whitespace.csv
387
414
  - features/support/selectors.rb
415
+ - features/support/simultaneous_ajax.rb
416
+ - features/support/single_quit_selenium_driver.rb
417
+ - features/support/slow_updates.rb
388
418
  - features/surveyor.feature
389
419
  - features/surveyor_dependencies.feature
390
420
  - features/surveyor_parser.feature
391
421
  - features/z_redcap_parser.feature
392
- - lib/formtastic/surveyor_builder.rb
422
+ - lib/assets/images/surveyor/next.gif
423
+ - lib/assets/images/surveyor/prev.gif
424
+ - lib/assets/images/ui-bg_glass_100_f6f6f6_1x400.png
425
+ - lib/assets/images/ui-bg_glass_100_fdf5ce_1x400.png
426
+ - lib/assets/images/ui-bg_glass_65_ffffff_1x400.png
427
+ - lib/assets/images/ui-bg_gloss-wave_35_f6a828_500x100.png
428
+ - lib/assets/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
429
+ - lib/assets/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
430
+ - lib/assets/images/ui-icons_ef8c08_256x240.png
431
+ - lib/assets/images/ui-icons_ffffff_256x240.png
432
+ - lib/assets/javascripts/surveyor/jquery-ui-timepicker-addon.js
433
+ - lib/assets/javascripts/surveyor/jquery-ui.js
434
+ - lib/assets/javascripts/surveyor/jquery.selectToUISlider.js
435
+ - lib/assets/javascripts/surveyor/jquery.surveyor.js
436
+ - lib/assets/javascripts/surveyor/jquery.tools.min.js
437
+ - lib/assets/stylesheets/surveyor.sass
438
+ - lib/assets/stylesheets/surveyor/dateinput.css
439
+ - lib/assets/stylesheets/surveyor/jquery-ui-timepicker-addon.css
440
+ - lib/assets/stylesheets/surveyor/jquery-ui.custom.css
441
+ - lib/assets/stylesheets/surveyor/reset.css
442
+ - lib/assets/stylesheets/surveyor/results.css
443
+ - lib/assets/stylesheets/surveyor/ui.slider.extras.css
393
444
  - lib/generators/surveyor/custom_generator.rb
394
445
  - lib/generators/surveyor/install_generator.rb
446
+ - lib/generators/surveyor/templates/app/assets/javascripts/surveyor_all.js
447
+ - lib/generators/surveyor/templates/app/assets/stylesheets/surveyor_all.css
395
448
  - lib/generators/surveyor/templates/app/controllers/surveyor_controller.rb
396
449
  - lib/generators/surveyor/templates/app/views/layouts/surveyor_custom.html.erb
397
450
  - lib/generators/surveyor/templates/config/locales/surveyor_en.yml
@@ -407,7 +460,10 @@ files:
407
460
  - lib/generators/surveyor/templates/db/migrate/add_index_to_response_sets.rb
408
461
  - lib/generators/surveyor/templates/db/migrate/add_index_to_surveys.rb
409
462
  - lib/generators/surveyor/templates/db/migrate/add_section_id_to_responses.rb
463
+ - lib/generators/surveyor/templates/db/migrate/add_unique_index_on_access_code_and_version_in_surveys.rb
410
464
  - lib/generators/surveyor/templates/db/migrate/add_unique_indicies.rb
465
+ - lib/generators/surveyor/templates/db/migrate/add_version_to_surveys.rb
466
+ - lib/generators/surveyor/templates/db/migrate/api_ids_must_be_unique.rb
411
467
  - lib/generators/surveyor/templates/db/migrate/create_answers.rb
412
468
  - lib/generators/surveyor/templates/db/migrate/create_dependencies.rb
413
469
  - lib/generators/surveyor/templates/db/migrate/create_dependency_conditions.rb
@@ -419,36 +475,21 @@ files:
419
475
  - lib/generators/surveyor/templates/db/migrate/create_surveys.rb
420
476
  - lib/generators/surveyor/templates/db/migrate/create_validation_conditions.rb
421
477
  - lib/generators/surveyor/templates/db/migrate/create_validations.rb
422
- - lib/generators/surveyor/templates/public/images/surveyor/next.gif
423
- - lib/generators/surveyor/templates/public/images/surveyor/prev.gif
424
- - lib/generators/surveyor/templates/public/javascripts/surveyor/jquery-ui-timepicker-addon.js
425
- - lib/generators/surveyor/templates/public/javascripts/surveyor/jquery-ui.js
426
- - lib/generators/surveyor/templates/public/javascripts/surveyor/jquery.blockUI.js
427
- - lib/generators/surveyor/templates/public/javascripts/surveyor/jquery.surveyor.js
428
- - lib/generators/surveyor/templates/public/javascripts/surveyor/jquery.tools.min.js
429
- - lib/generators/surveyor/templates/public/stylesheets/sass/custom.sass
430
- - lib/generators/surveyor/templates/public/stylesheets/sass/surveyor.sass
431
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/dateinput.css
432
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/jquery-ui-timepicker-addon.css
433
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/jquery-ui.custom.css
434
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/reset.css
435
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/results.css
436
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_glass_100_f6f6f6_1x400.png
437
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_glass_100_fdf5ce_1x400.png
438
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_glass_65_ffffff_1x400.png
439
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_gloss-wave_35_f6a828_500x100.png
440
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_highlight-soft_75_ffe45c_1x100.png
441
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-icons_ef8c08_256x240.png
442
- - lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-icons_ffffff_256x240.png
478
+ - lib/generators/surveyor/templates/db/migrate/drop_unique_index_on_access_code_in_surveys.rb
479
+ - lib/generators/surveyor/templates/db/migrate/update_blank_api_ids_on_question_group.rb
480
+ - lib/generators/surveyor/templates/db/migrate/update_blank_versions_on_surveys.rb
443
481
  - lib/generators/surveyor/templates/surveys/EXTENDING_SURVEYOR.md
444
482
  - lib/generators/surveyor/templates/surveys/MODIFYING_SURVEYOR.md
445
483
  - lib/generators/surveyor/templates/surveys/date_survey.rb
446
484
  - lib/generators/surveyor/templates/surveys/kitchen_sink_survey.rb
447
485
  - lib/generators/surveyor/templates/surveys/quiz.rb
486
+ - lib/generators/surveyor/templates/vendor/assets/stylesheets/custom.sass
448
487
  - lib/surveyor.rb
449
488
  - lib/surveyor/acts_as_response.rb
450
489
  - lib/surveyor/common.rb
451
490
  - lib/surveyor/engine.rb
491
+ - lib/surveyor/helpers/asset_pipeline.rb
492
+ - lib/surveyor/helpers/formtastic_custom_input.rb
452
493
  - lib/surveyor/helpers/surveyor_helper_methods.rb
453
494
  - lib/surveyor/models/answer_methods.rb
454
495
  - lib/surveyor/models/dependency_condition_methods.rb
@@ -471,6 +512,7 @@ files:
471
512
  - rails/init.rb
472
513
  - spec/controllers/surveyor_controller_spec.rb
473
514
  - spec/factories.rb
515
+ - spec/helpers/formtastic_custom_input_spec.rb
474
516
  - spec/helpers/surveyor_helper_spec.rb
475
517
  - spec/lib/benchmark_spec.rb
476
518
  - spec/lib/chinese_survey.rb
@@ -496,57 +538,56 @@ files:
496
538
  - surveyor.gemspec
497
539
  homepage: http://github.com/NUBIC/surveyor
498
540
  licenses: []
499
-
500
- post_install_message: Thanks for installing surveyor! The time has come to run the surveyor generator and migrate your database, even if you are upgrading.
541
+ post_install_message: Thanks for installing surveyor! The time has come to run the
542
+ surveyor generator and migrate your database, even if you are upgrading.
501
543
  rdoc_options: []
502
-
503
- require_paths:
544
+ require_paths:
504
545
  - lib
505
- required_ruby_version: !ruby/object:Gem::Requirement
546
+ required_ruby_version: !ruby/object:Gem::Requirement
506
547
  none: false
507
- requirements:
508
- - - ">="
509
- - !ruby/object:Gem::Version
510
- hash: 3
511
- segments:
512
- - 0
513
- version: "0"
514
- required_rubygems_version: !ruby/object:Gem::Requirement
548
+ requirements:
549
+ - - ! '>='
550
+ - !ruby/object:Gem::Version
551
+ version: '0'
552
+ required_rubygems_version: !ruby/object:Gem::Requirement
515
553
  none: false
516
- requirements:
517
- - - ">="
518
- - !ruby/object:Gem::Version
519
- hash: 3
520
- segments:
521
- - 0
522
- version: "0"
554
+ requirements:
555
+ - - ! '>='
556
+ - !ruby/object:Gem::Version
557
+ version: '0'
523
558
  requirements: []
524
-
525
559
  rubyforge_project:
526
- rubygems_version: 1.8.10
560
+ rubygems_version: 1.8.24
527
561
  signing_key:
528
562
  specification_version: 3
529
563
  summary: A rails (gem) plugin to enable surveys in your application
530
- test_files:
564
+ test_files:
565
+ - features/ajax_submissions.feature
531
566
  - features/export_to_json.feature
567
+ - features/no_duplicates.feature
532
568
  - features/show_survey.feature
533
- - features/step_definitions/common_steps.rb
534
569
  - features/step_definitions/parser_steps.rb
535
570
  - features/step_definitions/surveyor_steps.rb
571
+ - features/step_definitions/ui_steps.rb
536
572
  - features/step_definitions/web_steps.rb
537
573
  - features/support/REDCapDemoDatabase_DataDictionary.csv
574
+ - features/support/database_cleaner.rb
538
575
  - features/support/env.rb
539
576
  - features/support/paths.rb
540
577
  - features/support/redcap_new_headers.csv
541
578
  - features/support/redcap_siblings.csv
542
579
  - features/support/redcap_whitespace.csv
543
580
  - features/support/selectors.rb
581
+ - features/support/simultaneous_ajax.rb
582
+ - features/support/single_quit_selenium_driver.rb
583
+ - features/support/slow_updates.rb
544
584
  - features/surveyor.feature
545
585
  - features/surveyor_dependencies.feature
546
586
  - features/surveyor_parser.feature
547
587
  - features/z_redcap_parser.feature
548
588
  - spec/controllers/surveyor_controller_spec.rb
549
589
  - spec/factories.rb
590
+ - spec/helpers/formtastic_custom_input_spec.rb
550
591
  - spec/helpers/surveyor_helper_spec.rb
551
592
  - spec/lib/benchmark_spec.rb
552
593
  - spec/lib/chinese_survey.rb