surveyor 0.21.0 → 0.22.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.
Files changed (73) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +0 -6
  3. data/README.md +40 -14
  4. data/app/helpers/surveyor_helper.rb +1 -85
  5. data/app/views/partials/_answer.html.haml +5 -4
  6. data/app/views/partials/_question.html.haml +7 -5
  7. data/app/views/partials/_question_group.html.haml +2 -2
  8. data/app/views/surveyor/export.json.rabl +75 -0
  9. data/app/views/surveyor/show.html.haml +75 -13
  10. data/app/views/surveyor/show.json.rabl +14 -0
  11. data/config/routes.rb +2 -3
  12. data/doc/surveyor reject or delete decision matrix.png +0 -0
  13. data/features/export_to_json.feature +96 -0
  14. data/features/show_survey.feature +42 -0
  15. data/features/step_definitions/{common_setps.rb → common_steps.rb} +0 -0
  16. data/features/step_definitions/surveyor_steps.rb +46 -12
  17. data/features/step_definitions/web_steps.rb +15 -5
  18. data/features/support/paths.rb +2 -1
  19. data/features/surveyor.feature +192 -41
  20. data/features/surveyor_parser.feature +10 -10
  21. data/features/{redcap_parser.feature → z_redcap_parser.feature} +9 -6
  22. data/lib/formtastic/surveyor_builder.rb +1 -4
  23. data/lib/generators/surveyor/install_generator.rb +6 -5
  24. data/lib/generators/surveyor/templates/db/migrate/add_api_id_to_question_groups.rb +9 -0
  25. data/lib/generators/surveyor/templates/db/migrate/add_api_ids_to_response_sets_and_responses.rb +11 -0
  26. data/lib/generators/surveyor/templates/public/javascripts/surveyor/jquery-ui-timepicker-addon.js +1277 -0
  27. data/lib/generators/surveyor/templates/public/javascripts/surveyor/jquery-ui.js +11729 -0
  28. data/lib/generators/surveyor/templates/public/javascripts/surveyor/jquery.surveyor.js +54 -10
  29. data/lib/generators/surveyor/templates/public/stylesheets/sass/surveyor.sass +1 -1
  30. data/lib/generators/surveyor/templates/public/stylesheets/surveyor/jquery-ui-timepicker-addon.css +6 -0
  31. data/lib/generators/surveyor/templates/public/stylesheets/surveyor/jquery-ui.custom.css +572 -0
  32. data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  33. data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  34. data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_glass_65_ffffff_1x400.png +0 -0
  35. data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  36. data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  37. data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-icons_ef8c08_256x240.png +0 -0
  38. data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-icons_ffffff_256x240.png +0 -0
  39. data/lib/generators/surveyor/templates/surveys/EXTENDING_SURVEYOR.md +14 -0
  40. data/lib/generators/surveyor/templates/surveys/MODIFYING_SURVEYOR.md +91 -0
  41. data/lib/generators/surveyor/templates/surveys/date_survey.rb +15 -0
  42. data/lib/generators/surveyor/templates/surveys/kitchen_sink_survey.rb +2 -2
  43. data/lib/surveyor/common.rb +31 -4
  44. data/lib/surveyor/helpers/surveyor_helper_methods.rb +99 -0
  45. data/lib/surveyor/models/answer_methods.rb +6 -5
  46. data/lib/surveyor/models/dependency_condition_methods.rb +0 -1
  47. data/lib/surveyor/models/dependency_methods.rb +1 -1
  48. data/lib/surveyor/models/question_group_methods.rb +5 -0
  49. data/lib/surveyor/models/question_methods.rb +5 -2
  50. data/lib/surveyor/models/response_methods.rb +44 -3
  51. data/lib/surveyor/models/response_set_methods.rb +14 -4
  52. data/lib/surveyor/models/survey_methods.rb +8 -2
  53. data/lib/surveyor/models/survey_section_methods.rb +13 -1
  54. data/lib/surveyor/parser.rb +18 -11
  55. data/lib/surveyor/render_text.rb +19 -0
  56. data/lib/surveyor/surveyor_controller_methods.rb +19 -1
  57. data/lib/surveyor/unparser.rb +1 -1
  58. data/lib/surveyor/version.rb +1 -1
  59. data/lib/tasks/surveyor_tasks.rake +1 -1
  60. data/spec/controllers/surveyor_controller_spec.rb +7 -3
  61. data/spec/helpers/surveyor_helper_spec.rb +104 -9
  62. data/spec/lib/chinese_survey.rb +14 -0
  63. data/spec/lib/common_spec.rb +52 -1
  64. data/spec/lib/rake_kitchen_sink.rb +40 -0
  65. data/spec/models/answer_spec.rb +11 -0
  66. data/spec/models/question_spec.rb +15 -0
  67. data/spec/models/response_set_spec.rb +45 -1
  68. data/spec/models/response_spec.rb +7 -4
  69. data/surveyor.gemspec +4 -2
  70. metadata +99 -40
  71. data/app/controllers/results_controller.rb +0 -13
  72. data/app/views/results/index.html.erb +0 -17
  73. data/app/views/results/show.html.erb +0 -25
@@ -18,5 +18,56 @@ describe Surveyor::Common, "" do
18
18
  "In general, you would say your health is:" => "you_would_say_your_health"
19
19
  }.each{|k, v| Surveyor::Common.to_normalized_string(k).should == v}
20
20
  end
21
-
21
+ it "should deep compare json objects" do
22
+ a = {"a" => "b"}.to_json
23
+ b = '{"a": "b"}'
24
+ Surveyor::Common.equal_json_excluding_wildcards(a,b).should be_true
25
+
26
+ a = {"y" => "x"}.to_json
27
+ b = {:y => "x"}
28
+ Surveyor::Common.equal_json_excluding_wildcards(a,b).should be_true
29
+
30
+ a = [{"y" => "x"}, {"j" => "b"}].to_json
31
+ b = '[{"y": "x"}]'
32
+ Surveyor::Common.equal_json_excluding_wildcards(a,b).should be_false
33
+
34
+ a = [{"y" => "x"}, {"uuid" => "*"}].to_json
35
+ b = '[{"y": "x"}, {"uuid": "12312312312123"}]'
36
+ Surveyor::Common.equal_json_excluding_wildcards(a,b).should be_true
37
+
38
+ a = %({"survey": {
39
+ "title":"Simple survey",
40
+ "uuid":"72888670-9151-012e-9ec1-00254bc472f4",
41
+ "sections":[{
42
+ "title":"Basic questions"
43
+ }]
44
+ }
45
+ })
46
+ b = %({"survey": {"title": "Simple survey","uuid": "*","sections": [{"title": "Basic questions"}]}})
47
+ Surveyor::Common.equal_json_excluding_wildcards(a,b).should be_true
48
+
49
+ a = %({"survey": {
50
+ "title":"Simple survey",
51
+ "uuid":"72888670-9151-012e-9ec1-00254bc472f4",
52
+ "sections":[{
53
+ "title":"Different"
54
+ }]
55
+ }
56
+ })
57
+ b = %({"survey": {"title": "Simple survey","uuid": "*","sections": [{"title": "Basic questions"}]}})
58
+ Surveyor::Common.equal_json_excluding_wildcards(a,b).should be_false
59
+ end
60
+ describe '#generate_api_id' do
61
+ def generate
62
+ Surveyor::Common.generate_api_id
63
+ end
64
+
65
+ it 'generates a String' do
66
+ generate.should be_a String
67
+ end
68
+
69
+ it 'generates a new value every time' do
70
+ (1..100).collect { generate }.uniq.size.should == 100
71
+ end
72
+ end
22
73
  end
@@ -0,0 +1,40 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+ require 'rake'
3
+
4
+ describe Surveyor::Parser do
5
+ before do
6
+ @rake = Rake::Application.new
7
+ Rake.application = @rake
8
+ Rake.application.rake_require "lib/tasks/surveyor_tasks"
9
+ Rake::Task.define_task(:environment)
10
+ end
11
+ it "should return properly parse the kitchen sink survey" do
12
+ ENV["FILE"]="surveys/kitchen_sink_survey.rb"
13
+ @rake["surveyor"].invoke
14
+
15
+ Survey.count.should == 1
16
+ SurveySection.count.should == 2
17
+ Question.count.should == 44
18
+ Answer.count.should == 241
19
+ Dependency.count.should == 6
20
+ DependencyCondition.count.should == 9
21
+ QuestionGroup.count.should == 6
22
+
23
+ Survey.all.map(&:destroy)
24
+ end
25
+ it "should return properly parse a UTF8 survey" do
26
+ ENV["FILE"]="../spec/lib/chinese_survey.rb"
27
+ @rake["surveyor"].invoke
28
+
29
+ Survey.count.should == 1
30
+ SurveySection.count.should == 1
31
+ Question.count.should == 3
32
+ Answer.count.should == 15
33
+ Dependency.count.should == 0
34
+ DependencyCondition.count.should == 0
35
+ QuestionGroup.count.should == 1
36
+
37
+ Survey.all.map(&:destroy)
38
+ end
39
+
40
+ end
@@ -41,4 +41,15 @@ describe Answer, "when creating a new answer" do
41
41
  it "should have an api_id" do
42
42
  @answer.api_id.length.should == 36
43
43
  end
44
+
45
+ require 'mustache'
46
+ class FakeMustacheContext < ::Mustache
47
+ def site
48
+ "Northwestern"
49
+ end
50
+ end
51
+ it "should substitute 'Northwestern' in place {{site}}" do
52
+ @answer.text = "You are in {{site}}"
53
+ @answer.split_or_hidden_text(nil, FakeMustacheContext).should == "You are in Northwestern"
54
+ end
44
55
  end
@@ -85,6 +85,21 @@ describe Question, "when interacting with an instance" do
85
85
  @question.solo?.should be_true
86
86
  @question.part_of_group?.should be_false
87
87
  end
88
+
89
+ require 'mustache'
90
+ class FakeMustacheContext < ::Mustache
91
+ def site
92
+ "Northwestern"
93
+ end
94
+ def somethingElse
95
+ "something new"
96
+ end
97
+ end
98
+ it "should substitute 'Northwestern' in place {{site}}" do
99
+ @question.text = "You are in {{site}}"
100
+ @question.render_question_text(FakeMustacheContext).should == "You are in Northwestern"
101
+ end
102
+
88
103
  end
89
104
 
90
105
  describe Question, "with dependencies" do
@@ -13,6 +13,36 @@ describe ResponseSet do
13
13
  @response_set.access_code.length.should == 10
14
14
  end
15
15
 
16
+ describe '#access_code' do
17
+ let!(:rs1) { Factory(:response_set).tap { |rs| rs.update_attribute(:access_code, 'one') } }
18
+ let!(:rs2) { Factory(:response_set).tap { |rs| rs.update_attribute(:access_code, 'two') } }
19
+
20
+ # Regression test for #263
21
+ it 'accepts an access code in the constructor' do
22
+ ResponseSet.new(:access_code => 'eleven').access_code.should == 'eleven'
23
+ end
24
+
25
+ # Regression test for #263
26
+ it 'setter accepts a conflicting access code' do
27
+ rs2.access_code = 'one'
28
+ rs2.access_code.should == 'one'
29
+ end
30
+
31
+ it 'is invalid when conflicting' do
32
+ rs2.access_code = 'one'
33
+ rs2.should_not be_valid
34
+ rs2.should have(1).errors_on(:access_code)
35
+ end
36
+
37
+ it 'defaults to a random, non-conflicting value on init' do
38
+ Surveyor::Common.should_receive(:make_tiny_code).and_return('one')
39
+ Surveyor::Common.should_receive(:make_tiny_code).and_return('two')
40
+ Surveyor::Common.should_receive(:make_tiny_code).and_return('three')
41
+
42
+ ResponseSet.new.access_code.should == 'three'
43
+ end
44
+ end
45
+
16
46
  it "is completable" do
17
47
  @response_set.completed_at.should be_nil
18
48
  @response_set.complete!
@@ -23,7 +53,13 @@ describe ResponseSet do
23
53
 
24
54
  it "does not allow completion through mass assignment" do
25
55
  @response_set.completed_at.should be_nil
26
- @response_set.update_attributes(:completed_at => Time.now)
56
+ # Rails 3.2 throws an ActiveModel::MassAssignmentSecurity::Error error on response_set.update_attribues
57
+ # Using begin..rescue..end for Rails 3.1 and 3.0 backwards compatibility
58
+ # lambda { @response_set.update_attributes(:completed_at => Time.now) }.should raise_error(ActiveModel::MassAssignmentSecurity::Error)
59
+ begin
60
+ @response_set.update_attributes(:completed_at => Time.now)
61
+ rescue
62
+ end
27
63
  @response_set.completed_at.should be_nil
28
64
  end
29
65
 
@@ -39,6 +75,14 @@ describe ResponseSet do
39
75
  @response_set.responses.detect{|r| r.question_id == 7}.text_value.should == "Brian is tired"
40
76
  end
41
77
 
78
+ it 'saves its responses' do
79
+ new_set = ResponseSet.new(:survey => Factory(:survey))
80
+ new_set.responses.build(:question_id => 1, :answer_id => 1, :string_value => 'XXL')
81
+ new_set.save!
82
+
83
+ ResponseSet.find(new_set.id).responses.should have(1).items
84
+ end
85
+
42
86
  it "should ignore data if corresponding radio button is not selected" do
43
87
  @response_set.update_attributes(:responses_attributes => ResponseSet.to_savable(@radio_response_attributes))
44
88
  @response_set.responses.select{|r| r.question_id == 2}.should have(1).item
@@ -10,10 +10,7 @@ describe Response, "when saving a response" do
10
10
  @response.should be_valid
11
11
  end
12
12
 
13
- it "should be invalid without a parent response set and question" do
14
- @response.response_set_id = nil
15
- @response.should have(1).error_on(:response_set_id)
16
-
13
+ it "should be invalid without a question" do
17
14
  @response.question_id = nil
18
15
  @response.should have(1).error_on(:question_id)
19
16
  end
@@ -36,6 +33,12 @@ describe Response, "when saving a response" do
36
33
  @response.answer = Factory(:answer, :response_class => "answer").tap { |a| a.id = 143 }
37
34
  @response.correct?.should be_false
38
35
  end
36
+
37
+ it "should be in order by created_at" do
38
+ @response.response_set.should_not be_nil
39
+ response2 = Factory(:response, :question => Factory(:question), :answer => Factory(:answer), :response_set => @response.response_set, :created_at => (@response.created_at + 1))
40
+ Response.all.should == [@response, response2]
41
+ end
39
42
 
40
43
  describe "returns the response as the type requested" do
41
44
  it "returns 'string'" do
data/surveyor.gemspec CHANGED
@@ -22,7 +22,9 @@ Gem::Specification.new do |s|
22
22
  s.add_dependency('sass')
23
23
  s.add_dependency('fastercsv', '~> 1.5.4')
24
24
  s.add_dependency('formtastic', '~> 1.2.4')
25
- s.add_dependency('uuid')
25
+ s.add_dependency('uuidtools', '~> 2.1')
26
+ s.add_dependency('mustache', '0.99.4')
27
+ s.add_dependency('rabl', '~>0.6.6')
26
28
 
27
29
  s.add_development_dependency('yard')
28
30
  s.add_development_dependency('rake', '0.8.7')
@@ -34,6 +36,6 @@ Gem::Specification.new do |s|
34
36
  s.add_development_dependency('database_cleaner', '~> 0.6.7')
35
37
  s.add_development_dependency('launchy', '~> 2.0.5')
36
38
  s.add_development_dependency('capybara', '~> 1.1.1')
37
- s.add_development_dependency('ci_reporter', '~> 1.6')
39
+ s.add_development_dependency('ci_reporter', '1.6.6')
38
40
  end
39
41
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: surveyor
3
3
  version: !ruby/object:Gem::Version
4
- hash: 75
4
+ hash: 71
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 21
8
+ - 22
9
9
  - 0
10
- version: 0.21.0
10
+ version: 0.22.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brian Chamberlain
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-11-10 00:00:00 Z
19
+ date: 2012-04-04 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: rails
@@ -96,23 +96,56 @@ dependencies:
96
96
  type: :runtime
97
97
  version_requirements: *id005
98
98
  - !ruby/object:Gem::Dependency
99
- name: uuid
99
+ name: uuidtools
100
100
  prerelease: false
101
101
  requirement: &id006 !ruby/object:Gem::Requirement
102
102
  none: false
103
103
  requirements:
104
- - - ">="
104
+ - - ~>
105
105
  - !ruby/object:Gem::Version
106
- hash: 3
106
+ hash: 1
107
107
  segments:
108
- - 0
109
- version: "0"
108
+ - 2
109
+ - 1
110
+ version: "2.1"
110
111
  type: :runtime
111
112
  version_requirements: *id006
112
113
  - !ruby/object:Gem::Dependency
113
- name: yard
114
+ name: mustache
114
115
  prerelease: false
115
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
126
+ version: 0.99.4
127
+ type: :runtime
128
+ version_requirements: *id007
129
+ - !ruby/object:Gem::Dependency
130
+ name: rabl
131
+ prerelease: false
132
+ requirement: &id008 !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ~>
136
+ - !ruby/object:Gem::Version
137
+ hash: 11
138
+ segments:
139
+ - 0
140
+ - 6
141
+ - 6
142
+ version: 0.6.6
143
+ type: :runtime
144
+ version_requirements: *id008
145
+ - !ruby/object:Gem::Dependency
146
+ name: yard
147
+ prerelease: false
148
+ requirement: &id009 !ruby/object:Gem::Requirement
116
149
  none: false
117
150
  requirements:
118
151
  - - ">="
@@ -122,11 +155,11 @@ dependencies:
122
155
  - 0
123
156
  version: "0"
124
157
  type: :development
125
- version_requirements: *id007
158
+ version_requirements: *id009
126
159
  - !ruby/object:Gem::Dependency
127
160
  name: rake
128
161
  prerelease: false
129
- requirement: &id008 !ruby/object:Gem::Requirement
162
+ requirement: &id010 !ruby/object:Gem::Requirement
130
163
  none: false
131
164
  requirements:
132
165
  - - "="
@@ -138,11 +171,11 @@ dependencies:
138
171
  - 7
139
172
  version: 0.8.7
140
173
  type: :development
141
- version_requirements: *id008
174
+ version_requirements: *id010
142
175
  - !ruby/object:Gem::Dependency
143
176
  name: rspec-rails
144
177
  prerelease: false
145
- requirement: &id009 !ruby/object:Gem::Requirement
178
+ requirement: &id011 !ruby/object:Gem::Requirement
146
179
  none: false
147
180
  requirements:
148
181
  - - ~>
@@ -154,11 +187,11 @@ dependencies:
154
187
  - 0
155
188
  version: 2.6.0
156
189
  type: :development
157
- version_requirements: *id009
190
+ version_requirements: *id011
158
191
  - !ruby/object:Gem::Dependency
159
192
  name: bundler
160
193
  prerelease: false
161
- requirement: &id010 !ruby/object:Gem::Requirement
194
+ requirement: &id012 !ruby/object:Gem::Requirement
162
195
  none: false
163
196
  requirements:
164
197
  - - ~>
@@ -177,11 +210,11 @@ dependencies:
177
210
  - 21
178
211
  version: 1.0.21
179
212
  type: :development
180
- version_requirements: *id010
213
+ version_requirements: *id012
181
214
  - !ruby/object:Gem::Dependency
182
215
  name: factory_girl
183
216
  prerelease: false
184
- requirement: &id011 !ruby/object:Gem::Requirement
217
+ requirement: &id013 !ruby/object:Gem::Requirement
185
218
  none: false
186
219
  requirements:
187
220
  - - ~>
@@ -193,11 +226,11 @@ dependencies:
193
226
  - 2
194
227
  version: 2.1.2
195
228
  type: :development
196
- version_requirements: *id011
229
+ version_requirements: *id013
197
230
  - !ruby/object:Gem::Dependency
198
231
  name: sqlite3
199
232
  prerelease: false
200
- requirement: &id012 !ruby/object:Gem::Requirement
233
+ requirement: &id014 !ruby/object:Gem::Requirement
201
234
  none: false
202
235
  requirements:
203
236
  - - ">="
@@ -207,11 +240,11 @@ dependencies:
207
240
  - 0
208
241
  version: "0"
209
242
  type: :development
210
- version_requirements: *id012
243
+ version_requirements: *id014
211
244
  - !ruby/object:Gem::Dependency
212
245
  name: cucumber-rails
213
246
  prerelease: false
214
- requirement: &id013 !ruby/object:Gem::Requirement
247
+ requirement: &id015 !ruby/object:Gem::Requirement
215
248
  none: false
216
249
  requirements:
217
250
  - - ~>
@@ -223,11 +256,11 @@ dependencies:
223
256
  - 1
224
257
  version: 1.1.1
225
258
  type: :development
226
- version_requirements: *id013
259
+ version_requirements: *id015
227
260
  - !ruby/object:Gem::Dependency
228
261
  name: database_cleaner
229
262
  prerelease: false
230
- requirement: &id014 !ruby/object:Gem::Requirement
263
+ requirement: &id016 !ruby/object:Gem::Requirement
231
264
  none: false
232
265
  requirements:
233
266
  - - ~>
@@ -239,11 +272,11 @@ dependencies:
239
272
  - 7
240
273
  version: 0.6.7
241
274
  type: :development
242
- version_requirements: *id014
275
+ version_requirements: *id016
243
276
  - !ruby/object:Gem::Dependency
244
277
  name: launchy
245
278
  prerelease: false
246
- requirement: &id015 !ruby/object:Gem::Requirement
279
+ requirement: &id017 !ruby/object:Gem::Requirement
247
280
  none: false
248
281
  requirements:
249
282
  - - ~>
@@ -255,11 +288,11 @@ dependencies:
255
288
  - 5
256
289
  version: 2.0.5
257
290
  type: :development
258
- version_requirements: *id015
291
+ version_requirements: *id017
259
292
  - !ruby/object:Gem::Dependency
260
293
  name: capybara
261
294
  prerelease: false
262
- requirement: &id016 !ruby/object:Gem::Requirement
295
+ requirement: &id018 !ruby/object:Gem::Requirement
263
296
  none: false
264
297
  requirements:
265
298
  - - ~>
@@ -271,22 +304,23 @@ dependencies:
271
304
  - 1
272
305
  version: 1.1.1
273
306
  type: :development
274
- version_requirements: *id016
307
+ version_requirements: *id018
275
308
  - !ruby/object:Gem::Dependency
276
309
  name: ci_reporter
277
310
  prerelease: false
278
- requirement: &id017 !ruby/object:Gem::Requirement
311
+ requirement: &id019 !ruby/object:Gem::Requirement
279
312
  none: false
280
313
  requirements:
281
- - - ~>
314
+ - - "="
282
315
  - !ruby/object:Gem::Version
283
316
  hash: 3
284
317
  segments:
285
318
  - 1
286
319
  - 6
287
- version: "1.6"
320
+ - 6
321
+ version: 1.6.6
288
322
  type: :development
289
- version_requirements: *id017
323
+ version_requirements: *id019
290
324
  description:
291
325
  email: yoon@northwestern.edu
292
326
  executables: []
@@ -302,7 +336,6 @@ files:
302
336
  - MIT-LICENSE
303
337
  - README.md
304
338
  - Rakefile
305
- - app/controllers/results_controller.rb
306
339
  - app/controllers/surveyor_controller.rb
307
340
  - app/helpers/results_helper.rb
308
341
  - app/helpers/survey_form_builder.rb
@@ -327,19 +360,21 @@ files:
327
360
  - app/views/partials/_question_group.html.haml
328
361
  - app/views/partials/_section.html.haml
329
362
  - app/views/partials/_section_menu.html.haml
330
- - app/views/results/index.html.erb
331
- - app/views/results/show.html.erb
332
363
  - app/views/surveyor/edit.html.haml
364
+ - app/views/surveyor/export.json.rabl
333
365
  - app/views/surveyor/new.html.haml
334
366
  - app/views/surveyor/show.html.haml
367
+ - app/views/surveyor/show.json.rabl
335
368
  - ci-exec.sh
336
369
  - config/routes.rb
337
370
  - cucumber.yml
338
371
  - doc/question types.png
372
+ - doc/surveyor reject or delete decision matrix.png
339
373
  - doc/surveyor_models.png
340
374
  - doc/surveyor_models2.png
341
- - features/redcap_parser.feature
342
- - features/step_definitions/common_setps.rb
375
+ - features/export_to_json.feature
376
+ - features/show_survey.feature
377
+ - features/step_definitions/common_steps.rb
343
378
  - features/step_definitions/parser_steps.rb
344
379
  - features/step_definitions/surveyor_steps.rb
345
380
  - features/step_definitions/web_steps.rb
@@ -353,6 +388,7 @@ files:
353
388
  - features/surveyor.feature
354
389
  - features/surveyor_dependencies.feature
355
390
  - features/surveyor_parser.feature
391
+ - features/z_redcap_parser.feature
356
392
  - lib/formtastic/surveyor_builder.rb
357
393
  - lib/generators/surveyor/custom_generator.rb
358
394
  - lib/generators/surveyor/install_generator.rb
@@ -361,7 +397,9 @@ files:
361
397
  - lib/generators/surveyor/templates/config/locales/surveyor_en.yml
362
398
  - lib/generators/surveyor/templates/config/locales/surveyor_es.yml
363
399
  - lib/generators/surveyor/templates/config/locales/surveyor_he.yml
400
+ - lib/generators/surveyor/templates/db/migrate/add_api_id_to_question_groups.rb
364
401
  - lib/generators/surveyor/templates/db/migrate/add_api_ids.rb
402
+ - lib/generators/surveyor/templates/db/migrate/add_api_ids_to_response_sets_and_responses.rb
365
403
  - lib/generators/surveyor/templates/db/migrate/add_correct_answer_id_to_questions.rb
366
404
  - lib/generators/surveyor/templates/db/migrate/add_default_value_to_answers.rb
367
405
  - lib/generators/surveyor/templates/db/migrate/add_display_order_to_surveys.rb
@@ -383,21 +421,35 @@ files:
383
421
  - lib/generators/surveyor/templates/db/migrate/create_validations.rb
384
422
  - lib/generators/surveyor/templates/public/images/surveyor/next.gif
385
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
386
426
  - lib/generators/surveyor/templates/public/javascripts/surveyor/jquery.blockUI.js
387
427
  - lib/generators/surveyor/templates/public/javascripts/surveyor/jquery.surveyor.js
388
428
  - lib/generators/surveyor/templates/public/javascripts/surveyor/jquery.tools.min.js
389
429
  - lib/generators/surveyor/templates/public/stylesheets/sass/custom.sass
390
430
  - lib/generators/surveyor/templates/public/stylesheets/sass/surveyor.sass
391
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
392
434
  - lib/generators/surveyor/templates/public/stylesheets/surveyor/reset.css
393
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
394
443
  - lib/generators/surveyor/templates/surveys/EXTENDING_SURVEYOR.md
444
+ - lib/generators/surveyor/templates/surveys/MODIFYING_SURVEYOR.md
445
+ - lib/generators/surveyor/templates/surveys/date_survey.rb
395
446
  - lib/generators/surveyor/templates/surveys/kitchen_sink_survey.rb
396
447
  - lib/generators/surveyor/templates/surveys/quiz.rb
397
448
  - lib/surveyor.rb
398
449
  - lib/surveyor/acts_as_response.rb
399
450
  - lib/surveyor/common.rb
400
451
  - lib/surveyor/engine.rb
452
+ - lib/surveyor/helpers/surveyor_helper_methods.rb
401
453
  - lib/surveyor/models/answer_methods.rb
402
454
  - lib/surveyor/models/dependency_condition_methods.rb
403
455
  - lib/surveyor/models/dependency_methods.rb
@@ -411,6 +463,7 @@ files:
411
463
  - lib/surveyor/models/validation_methods.rb
412
464
  - lib/surveyor/parser.rb
413
465
  - lib/surveyor/redcap_parser.rb
466
+ - lib/surveyor/render_text.rb
414
467
  - lib/surveyor/surveyor_controller_methods.rb
415
468
  - lib/surveyor/unparser.rb
416
469
  - lib/surveyor/version.rb
@@ -420,8 +473,10 @@ files:
420
473
  - spec/factories.rb
421
474
  - spec/helpers/surveyor_helper_spec.rb
422
475
  - spec/lib/benchmark_spec.rb
476
+ - spec/lib/chinese_survey.rb
423
477
  - spec/lib/common_spec.rb
424
478
  - spec/lib/parser_spec.rb
479
+ - spec/lib/rake_kitchen_sink.rb
425
480
  - spec/lib/redcap_parser_spec.rb
426
481
  - spec/lib/unparser_spec.rb
427
482
  - spec/models/answer_spec.rb
@@ -473,8 +528,9 @@ signing_key:
473
528
  specification_version: 3
474
529
  summary: A rails (gem) plugin to enable surveys in your application
475
530
  test_files:
476
- - features/redcap_parser.feature
477
- - features/step_definitions/common_setps.rb
531
+ - features/export_to_json.feature
532
+ - features/show_survey.feature
533
+ - features/step_definitions/common_steps.rb
478
534
  - features/step_definitions/parser_steps.rb
479
535
  - features/step_definitions/surveyor_steps.rb
480
536
  - features/step_definitions/web_steps.rb
@@ -488,12 +544,15 @@ test_files:
488
544
  - features/surveyor.feature
489
545
  - features/surveyor_dependencies.feature
490
546
  - features/surveyor_parser.feature
547
+ - features/z_redcap_parser.feature
491
548
  - spec/controllers/surveyor_controller_spec.rb
492
549
  - spec/factories.rb
493
550
  - spec/helpers/surveyor_helper_spec.rb
494
551
  - spec/lib/benchmark_spec.rb
552
+ - spec/lib/chinese_survey.rb
495
553
  - spec/lib/common_spec.rb
496
554
  - spec/lib/parser_spec.rb
555
+ - spec/lib/rake_kitchen_sink.rb
497
556
  - spec/lib/redcap_parser_spec.rb
498
557
  - spec/lib/unparser_spec.rb
499
558
  - spec/models/answer_spec.rb