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.
- data/.gitignore +1 -0
- data/Gemfile +0 -6
- data/README.md +40 -14
- data/app/helpers/surveyor_helper.rb +1 -85
- data/app/views/partials/_answer.html.haml +5 -4
- data/app/views/partials/_question.html.haml +7 -5
- data/app/views/partials/_question_group.html.haml +2 -2
- data/app/views/surveyor/export.json.rabl +75 -0
- data/app/views/surveyor/show.html.haml +75 -13
- data/app/views/surveyor/show.json.rabl +14 -0
- data/config/routes.rb +2 -3
- data/doc/surveyor reject or delete decision matrix.png +0 -0
- data/features/export_to_json.feature +96 -0
- data/features/show_survey.feature +42 -0
- data/features/step_definitions/{common_setps.rb → common_steps.rb} +0 -0
- data/features/step_definitions/surveyor_steps.rb +46 -12
- data/features/step_definitions/web_steps.rb +15 -5
- data/features/support/paths.rb +2 -1
- data/features/surveyor.feature +192 -41
- data/features/surveyor_parser.feature +10 -10
- data/features/{redcap_parser.feature → z_redcap_parser.feature} +9 -6
- data/lib/formtastic/surveyor_builder.rb +1 -4
- data/lib/generators/surveyor/install_generator.rb +6 -5
- data/lib/generators/surveyor/templates/db/migrate/add_api_id_to_question_groups.rb +9 -0
- data/lib/generators/surveyor/templates/db/migrate/add_api_ids_to_response_sets_and_responses.rb +11 -0
- data/lib/generators/surveyor/templates/public/javascripts/surveyor/jquery-ui-timepicker-addon.js +1277 -0
- data/lib/generators/surveyor/templates/public/javascripts/surveyor/jquery-ui.js +11729 -0
- data/lib/generators/surveyor/templates/public/javascripts/surveyor/jquery.surveyor.js +54 -10
- data/lib/generators/surveyor/templates/public/stylesheets/sass/surveyor.sass +1 -1
- data/lib/generators/surveyor/templates/public/stylesheets/surveyor/jquery-ui-timepicker-addon.css +6 -0
- data/lib/generators/surveyor/templates/public/stylesheets/surveyor/jquery-ui.custom.css +572 -0
- data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-icons_ef8c08_256x240.png +0 -0
- data/lib/generators/surveyor/templates/public/stylesheets/surveyor/ui-icons_ffffff_256x240.png +0 -0
- data/lib/generators/surveyor/templates/surveys/EXTENDING_SURVEYOR.md +14 -0
- data/lib/generators/surveyor/templates/surveys/MODIFYING_SURVEYOR.md +91 -0
- data/lib/generators/surveyor/templates/surveys/date_survey.rb +15 -0
- data/lib/generators/surveyor/templates/surveys/kitchen_sink_survey.rb +2 -2
- data/lib/surveyor/common.rb +31 -4
- data/lib/surveyor/helpers/surveyor_helper_methods.rb +99 -0
- data/lib/surveyor/models/answer_methods.rb +6 -5
- data/lib/surveyor/models/dependency_condition_methods.rb +0 -1
- data/lib/surveyor/models/dependency_methods.rb +1 -1
- data/lib/surveyor/models/question_group_methods.rb +5 -0
- data/lib/surveyor/models/question_methods.rb +5 -2
- data/lib/surveyor/models/response_methods.rb +44 -3
- data/lib/surveyor/models/response_set_methods.rb +14 -4
- data/lib/surveyor/models/survey_methods.rb +8 -2
- data/lib/surveyor/models/survey_section_methods.rb +13 -1
- data/lib/surveyor/parser.rb +18 -11
- data/lib/surveyor/render_text.rb +19 -0
- data/lib/surveyor/surveyor_controller_methods.rb +19 -1
- data/lib/surveyor/unparser.rb +1 -1
- data/lib/surveyor/version.rb +1 -1
- data/lib/tasks/surveyor_tasks.rake +1 -1
- data/spec/controllers/surveyor_controller_spec.rb +7 -3
- data/spec/helpers/surveyor_helper_spec.rb +104 -9
- data/spec/lib/chinese_survey.rb +14 -0
- data/spec/lib/common_spec.rb +52 -1
- data/spec/lib/rake_kitchen_sink.rb +40 -0
- data/spec/models/answer_spec.rb +11 -0
- data/spec/models/question_spec.rb +15 -0
- data/spec/models/response_set_spec.rb +45 -1
- data/spec/models/response_spec.rb +7 -4
- data/surveyor.gemspec +4 -2
- metadata +99 -40
- data/app/controllers/results_controller.rb +0 -13
- data/app/views/results/index.html.erb +0 -17
- data/app/views/results/show.html.erb +0 -25
data/spec/lib/common_spec.rb
CHANGED
@@ -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
|
data/spec/models/answer_spec.rb
CHANGED
@@ -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
|
-
|
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
|
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('
|
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', '
|
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:
|
4
|
+
hash: 71
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 22
|
9
9
|
- 0
|
10
|
-
version: 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:
|
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:
|
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:
|
106
|
+
hash: 1
|
107
107
|
segments:
|
108
|
-
-
|
109
|
-
|
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:
|
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: *
|
158
|
+
version_requirements: *id009
|
126
159
|
- !ruby/object:Gem::Dependency
|
127
160
|
name: rake
|
128
161
|
prerelease: false
|
129
|
-
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: *
|
174
|
+
version_requirements: *id010
|
142
175
|
- !ruby/object:Gem::Dependency
|
143
176
|
name: rspec-rails
|
144
177
|
prerelease: false
|
145
|
-
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: *
|
190
|
+
version_requirements: *id011
|
158
191
|
- !ruby/object:Gem::Dependency
|
159
192
|
name: bundler
|
160
193
|
prerelease: false
|
161
|
-
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: *
|
213
|
+
version_requirements: *id012
|
181
214
|
- !ruby/object:Gem::Dependency
|
182
215
|
name: factory_girl
|
183
216
|
prerelease: false
|
184
|
-
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: *
|
229
|
+
version_requirements: *id013
|
197
230
|
- !ruby/object:Gem::Dependency
|
198
231
|
name: sqlite3
|
199
232
|
prerelease: false
|
200
|
-
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: *
|
243
|
+
version_requirements: *id014
|
211
244
|
- !ruby/object:Gem::Dependency
|
212
245
|
name: cucumber-rails
|
213
246
|
prerelease: false
|
214
|
-
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: *
|
259
|
+
version_requirements: *id015
|
227
260
|
- !ruby/object:Gem::Dependency
|
228
261
|
name: database_cleaner
|
229
262
|
prerelease: false
|
230
|
-
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: *
|
275
|
+
version_requirements: *id016
|
243
276
|
- !ruby/object:Gem::Dependency
|
244
277
|
name: launchy
|
245
278
|
prerelease: false
|
246
|
-
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: *
|
291
|
+
version_requirements: *id017
|
259
292
|
- !ruby/object:Gem::Dependency
|
260
293
|
name: capybara
|
261
294
|
prerelease: false
|
262
|
-
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: *
|
307
|
+
version_requirements: *id018
|
275
308
|
- !ruby/object:Gem::Dependency
|
276
309
|
name: ci_reporter
|
277
310
|
prerelease: false
|
278
|
-
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
|
-
|
320
|
+
- 6
|
321
|
+
version: 1.6.6
|
288
322
|
type: :development
|
289
|
-
version_requirements: *
|
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/
|
342
|
-
- features/
|
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/
|
477
|
-
- features/
|
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
|