helena 0.3.3

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 (202) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +2 -0
  3. data/.gitignore +15 -0
  4. data/.rubocop.yml +16 -0
  5. data/.travis.yml +6 -0
  6. data/Gemfile +31 -0
  7. data/Gemfile.lock +290 -0
  8. data/LICENSE +16 -0
  9. data/README.md +90 -0
  10. data/Rakefile +29 -0
  11. data/app/assets/images/helena/.keep +0 -0
  12. data/app/assets/images/helena/helena_mobile_view.jpg +0 -0
  13. data/app/assets/images/helena/icons/export.svg +29 -0
  14. data/app/assets/images/helena/swissmadesoftware.png +0 -0
  15. data/app/assets/javascripts/helena/application.js +4 -0
  16. data/app/assets/javascripts/helena/survey.js +2 -0
  17. data/app/assets/stylesheets/helena/admin/labels.css.sass +7 -0
  18. data/app/assets/stylesheets/helena/admin/layout.css.sass +6 -0
  19. data/app/assets/stylesheets/helena/admin/question_groups.css.sass +7 -0
  20. data/app/assets/stylesheets/helena/admin/questions.css.sass +9 -0
  21. data/app/assets/stylesheets/helena/admin/sessions.css.sass +5 -0
  22. data/app/assets/stylesheets/helena/admin/subquestions.css.sass +7 -0
  23. data/app/assets/stylesheets/helena/admin/versions.css.sass +9 -0
  24. data/app/assets/stylesheets/helena/application.css.sass +21 -0
  25. data/app/assets/stylesheets/helena/forms.css.sass +13 -0
  26. data/app/assets/stylesheets/helena/layout.css.sass +3 -0
  27. data/app/assets/stylesheets/helena/question_groups.css.sass +4 -0
  28. data/app/controllers/helena/admin/application_controller.rb +31 -0
  29. data/app/controllers/helena/admin/question_groups_controller.rb +78 -0
  30. data/app/controllers/helena/admin/questions/checkbox_groups_controller.rb +17 -0
  31. data/app/controllers/helena/admin/questions/checkbox_matrix_controller.rb +9 -0
  32. data/app/controllers/helena/admin/questions/long_texts_controller.rb +13 -0
  33. data/app/controllers/helena/admin/questions/radio_groups_controller.rb +17 -0
  34. data/app/controllers/helena/admin/questions/radio_matrix_controller.rb +9 -0
  35. data/app/controllers/helena/admin/questions/short_texts_controller.rb +13 -0
  36. data/app/controllers/helena/admin/questions/static_texts_controller.rb +13 -0
  37. data/app/controllers/helena/admin/questions_controller.rb +105 -0
  38. data/app/controllers/helena/admin/sessions_controller.rb +35 -0
  39. data/app/controllers/helena/admin/surveys_controller.rb +78 -0
  40. data/app/controllers/helena/admin/versions_controller.rb +71 -0
  41. data/app/controllers/helena/application_controller.rb +15 -0
  42. data/app/controllers/helena/concerns/questions/matrix_questions.rb +24 -0
  43. data/app/controllers/helena/sessions_controller.rb +93 -0
  44. data/app/controllers/helena/surveys_controller.rb +11 -0
  45. data/app/helpers/helena/application_helper.rb +4 -0
  46. data/app/models/helena/answer.rb +48 -0
  47. data/app/models/helena/boolean_answer.rb +5 -0
  48. data/app/models/helena/concerns/application_model.rb +19 -0
  49. data/app/models/helena/concerns/questions/requirable.rb +19 -0
  50. data/app/models/helena/concerns/questions/validates_one_label.rb +22 -0
  51. data/app/models/helena/integer_answer.rb +5 -0
  52. data/app/models/helena/label.rb +18 -0
  53. data/app/models/helena/question.rb +63 -0
  54. data/app/models/helena/question_group.rb +18 -0
  55. data/app/models/helena/questions/checkbox_group.rb +17 -0
  56. data/app/models/helena/questions/long_text.rb +9 -0
  57. data/app/models/helena/questions/radio_group.rb +12 -0
  58. data/app/models/helena/questions/radio_matrix.rb +24 -0
  59. data/app/models/helena/questions/short_text.rb +9 -0
  60. data/app/models/helena/questions/static_text.rb +7 -0
  61. data/app/models/helena/session.rb +76 -0
  62. data/app/models/helena/string_answer.rb +5 -0
  63. data/app/models/helena/sub_question.rb +27 -0
  64. data/app/models/helena/survey.rb +29 -0
  65. data/app/models/helena/survey_detail.rb +10 -0
  66. data/app/models/helena/version.rb +33 -0
  67. data/app/views/helena/admin/question_groups/_form.html.haml +3 -0
  68. data/app/views/helena/admin/question_groups/edit.html.haml +3 -0
  69. data/app/views/helena/admin/question_groups/index.html.haml +41 -0
  70. data/app/views/helena/admin/question_groups/new.html.haml +3 -0
  71. data/app/views/helena/admin/questions/_form.html.haml +15 -0
  72. data/app/views/helena/admin/questions/_labels.html.haml +24 -0
  73. data/app/views/helena/admin/questions/_sub_questions.html.haml +32 -0
  74. data/app/views/helena/admin/questions/edit.html.haml +3 -0
  75. data/app/views/helena/admin/questions/index.html.haml +49 -0
  76. data/app/views/helena/admin/questions/new.html.haml +3 -0
  77. data/app/views/helena/admin/sessions/index.html.haml +46 -0
  78. data/app/views/helena/admin/surveys/_form.html.haml +10 -0
  79. data/app/views/helena/admin/surveys/edit.html.haml +5 -0
  80. data/app/views/helena/admin/surveys/index.html.haml +35 -0
  81. data/app/views/helena/admin/surveys/new.html.haml +3 -0
  82. data/app/views/helena/admin/versions/_form.html.haml +5 -0
  83. data/app/views/helena/admin/versions/default_session_report.html.haml +17 -0
  84. data/app/views/helena/admin/versions/edit.html.haml +3 -0
  85. data/app/views/helena/admin/versions/index.html.haml +35 -0
  86. data/app/views/helena/admin/versions/new.html.haml +3 -0
  87. data/app/views/helena/questions/_checkbox_group.html.haml +17 -0
  88. data/app/views/helena/questions/_long_text.html.haml +8 -0
  89. data/app/views/helena/questions/_radio_group.html.haml +13 -0
  90. data/app/views/helena/questions/_radio_matrix.html.haml +27 -0
  91. data/app/views/helena/questions/_short_text.html.haml +8 -0
  92. data/app/views/helena/sessions/edit.html.haml +16 -0
  93. data/app/views/helena/sessions/end_message.html.haml +5 -0
  94. data/app/views/helena/surveys/_survey.html.haml +3 -0
  95. data/app/views/helena/surveys/index.html.haml +2 -0
  96. data/bin/rails +8 -0
  97. data/config/i18n-tasks.yml +3 -0
  98. data/config/initializers/simple_form.rb +162 -0
  99. data/config/initializers/simple_form_bootstrap.rb +132 -0
  100. data/config/locales/en.yml +20 -0
  101. data/config/locales/models/label/en.yml +14 -0
  102. data/config/locales/models/question/en.yml +47 -0
  103. data/config/locales/models/question_group/en.yml +11 -0
  104. data/config/locales/models/session/en.yml +10 -0
  105. data/config/locales/models/sub_question/en.yml +14 -0
  106. data/config/locales/models/survey/en.yml +6 -0
  107. data/config/locales/models/version/en.yml +12 -0
  108. data/config/locales/simple_form.en.yml +26 -0
  109. data/config/locales/views/admin/question_groups/en.yml +12 -0
  110. data/config/locales/views/admin/questions/en.yml +16 -0
  111. data/config/locales/views/admin/sessions/en.yml +11 -0
  112. data/config/locales/views/admin/surveys/en.yml +10 -0
  113. data/config/locales/views/admin/versions/en.yml +8 -0
  114. data/config/locales/views/sessions/en.yml +9 -0
  115. data/config/routes.rb +28 -0
  116. data/db/seeds.rb +182 -0
  117. data/gpl-3.0.txt +674 -0
  118. data/helena.gemspec +40 -0
  119. data/lib/helena/engine.rb +6 -0
  120. data/lib/helena/version.rb +3 -0
  121. data/lib/helena/version_publisher.rb +16 -0
  122. data/lib/helena.rb +10 -0
  123. data/lib/tasks/helena_tasks.rake +4 -0
  124. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  125. data/spec/controllers/helena/admin/question_group_controller_spec.rb +59 -0
  126. data/spec/controllers/helena/admin/questions_controller_spec.rb +60 -0
  127. data/spec/controllers/helena/admin/sessions_controller_spec.rb +84 -0
  128. data/spec/controllers/helena/admin/survey_controller_spec.rb +89 -0
  129. data/spec/controllers/helena/admin/versions_controller_spec.rb +19 -0
  130. data/spec/controllers/helena/application_controller_spec.rb +15 -0
  131. data/spec/controllers/helena/sessions_controller_spec.rb +24 -0
  132. data/spec/dummy/README.rdoc +28 -0
  133. data/spec/dummy/Rakefile +6 -0
  134. data/spec/dummy/app/assets/images/.keep +0 -0
  135. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  136. data/spec/dummy/app/controllers/application_controller.rb +9 -0
  137. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  138. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  139. data/spec/dummy/app/mailers/.keep +0 -0
  140. data/spec/dummy/app/models/.keep +0 -0
  141. data/spec/dummy/app/models/concerns/.keep +0 -0
  142. data/spec/dummy/app/views/layouts/application.html.haml +24 -0
  143. data/spec/dummy/bin/bundle +3 -0
  144. data/spec/dummy/bin/rails +4 -0
  145. data/spec/dummy/bin/rake +4 -0
  146. data/spec/dummy/config/application.rb +27 -0
  147. data/spec/dummy/config/boot.rb +5 -0
  148. data/spec/dummy/config/environment.rb +5 -0
  149. data/spec/dummy/config/environments/development.rb +29 -0
  150. data/spec/dummy/config/environments/production.rb +80 -0
  151. data/spec/dummy/config/environments/test.rb +36 -0
  152. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  153. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  154. data/spec/dummy/config/initializers/session_store.rb +3 -0
  155. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  156. data/spec/dummy/config/locales/en.yml +23 -0
  157. data/spec/dummy/config/mongoid.yml +14 -0
  158. data/spec/dummy/config/routes.rb +4 -0
  159. data/spec/dummy/config.ru +4 -0
  160. data/spec/dummy/db/seeds.rb +1 -0
  161. data/spec/dummy/lib/assets/.keep +0 -0
  162. data/spec/dummy/log/.keep +0 -0
  163. data/spec/dummy/public/404.html +58 -0
  164. data/spec/dummy/public/422.html +58 -0
  165. data/spec/dummy/public/500.html +57 -0
  166. data/spec/dummy/public/favicon.ico +0 -0
  167. data/spec/factories/helena/answers.rb +24 -0
  168. data/spec/factories/helena/labels.rb +7 -0
  169. data/spec/factories/helena/question_groups.rb +6 -0
  170. data/spec/factories/helena/questions.rb +14 -0
  171. data/spec/factories/helena/sessions.rb +9 -0
  172. data/spec/factories/helena/sub_questions.rb +7 -0
  173. data/spec/factories/helena/survey_details.rb +6 -0
  174. data/spec/factories/helena/surveys.rb +7 -0
  175. data/spec/factories/helena/versions.rb +11 -0
  176. data/spec/features/helena/admin/manage_question_group_spec.rb +101 -0
  177. data/spec/features/helena/admin/manage_question_spec.rb +105 -0
  178. data/spec/features/helena/admin/manage_session_spec.rb +40 -0
  179. data/spec/features/helena/admin/manage_survey_spec.rb +141 -0
  180. data/spec/features/helena/admin/manage_version_spec.rb +74 -0
  181. data/spec/features/helena/admin/question_types/manage_checkbox_group_question_spec.rb +55 -0
  182. data/spec/features/helena/admin/question_types/manage_long_text_question_spec.rb +21 -0
  183. data/spec/features/helena/admin/question_types/manage_radio_group_question_spec.rb +59 -0
  184. data/spec/features/helena/admin/question_types/manage_radio_matrix_question_spec.rb +80 -0
  185. data/spec/features/helena/admin/question_types/manage_short_text_question_spec.rb +19 -0
  186. data/spec/features/helena/admin/question_types/manage_static_text_question_spec.rb +17 -0
  187. data/spec/features/helena/manage_session_spec.rb +284 -0
  188. data/spec/features/helena/manage_survey_spec.rb +24 -0
  189. data/spec/lib/version_publisher_spec.rb +26 -0
  190. data/spec/models/helena/answer_spec.rb +53 -0
  191. data/spec/models/helena/label_spec.rb +13 -0
  192. data/spec/models/helena/question_group_spec.rb +11 -0
  193. data/spec/models/helena/question_spec.rb +21 -0
  194. data/spec/models/helena/questions/radio_group_spec.rb +32 -0
  195. data/spec/models/helena/questions/radio_matrix_spec.rb +32 -0
  196. data/spec/models/helena/questions/short_text_spec.rb +10 -0
  197. data/spec/models/helena/session_spec.rb +20 -0
  198. data/spec/models/helena/sub_question_spec.rb +28 -0
  199. data/spec/models/helena/survey_spec.rb +14 -0
  200. data/spec/models/helena/version_spec.rb +15 -0
  201. data/spec/spec_helper.rb +43 -0
  202. metadata +485 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b437c38708db1df2a9450e6f5903a50d45ab176e
4
+ data.tar.gz: 7a585918bb337d3af73d2ec6cefe580880e2b994
5
+ SHA512:
6
+ metadata.gz: 307348d59085becee14ac75a03707bf3c6b00d3a52b39ca33c6fe4b593bc08a975af0a365fbe95b2c6cdd65db4f63e01561c96ae7f572b2d11e21de9b25fd7ca
7
+ data.tar.gz: 9528c955ea867ab92e369d8d80e480ec9ced8862cc6cde8b35b8f6dca47d64ebc242beb652cde0b8052f917740d14592446c77bf6b43150f17e80ce0c844a5e0
data/.coveralls.yml ADDED
@@ -0,0 +1,2 @@
1
+ service_name: travis-ci
2
+ repo_token: eiMZVVK9qTM8cTOFC5MLLmgVkVcQb2nvw
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ .idea
2
+ .bundle/
3
+ log/*.log
4
+ pkg/
5
+ spec/dummy/db/*.sqlite3
6
+ spec/dummy/db/*.sqlite3-journal
7
+ spec/dummy/log/*.log
8
+ spec/dummy/tmp/
9
+ spec/dummy/.sass-cache
10
+ coverage/
11
+ **/*.DS_Store
12
+
13
+ .DS_Store
14
+
15
+ .respec_failures
data/.rubocop.yml ADDED
@@ -0,0 +1,16 @@
1
+ AllCops:
2
+ Include:
3
+ - '**/Rakefile'
4
+ - '**/config.ru'
5
+ Exclude:
6
+ - bin/**
7
+ - spec/dummy/db/schema.rb
8
+ - spec/dummy/config/initializers/secret_token.rb
9
+ - db/migrate/**
10
+ - db/seeds.rb
11
+ Documentation:
12
+ Enabled: false
13
+ LineLength:
14
+ Enabled: true
15
+ Max: 160
16
+
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1
4
+
5
+ services:
6
+ - mongodb
data/Gemfile ADDED
@@ -0,0 +1,31 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Declare your gem's dependencies in helena.gemspec.
4
+ # Bundler will treat runtime dependencies like base dependencies, and
5
+ # development dependencies will be added by default to the :development group.
6
+ gemspec
7
+
8
+ # Declare any dependencies that are still in development here instead of in
9
+ # your gemspec. These might include edge Rails or gems from your path or
10
+ # Git. Remember to move these dependencies to your gemspec before releasing
11
+ # your gem to rubygems.org.
12
+
13
+ # To use debugger
14
+ group :development, :test do
15
+ gem 'pry'
16
+ gem 'pry-byebug'
17
+ gem 'ruby-progressbar'
18
+ gem 'mongoid-rspec', github: 'gurix/mongoid-rspec' # TODO: replace when https://github.com/mongoid-rspec/mongoid-rspec/pull/128 is merged
19
+ gem 'colorize'
20
+ gem 'quiet_assets'
21
+ gem 'better_errors'
22
+ gem 'launchy'
23
+ gem 'binding_of_caller'
24
+ gem 'selenium-webdriver'
25
+ gem 'i18n-tasks'
26
+ gem 'simple_form'
27
+ gem 'jquery-rails'
28
+ gem 'bootstrap-sass'
29
+ gem 'breadcrumbs_on_rails'
30
+ gem 'coveralls', require: false
31
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,290 @@
1
+ GIT
2
+ remote: git://github.com/gurix/mongoid-rspec.git
3
+ revision: d73b0e544f500a18444190193f942687a54e8e87
4
+ specs:
5
+ mongoid-rspec (2.0.0)
6
+ mongoid (~> 4.0.0)
7
+ rake
8
+ rspec (>= 2.14)
9
+
10
+ PATH
11
+ remote: .
12
+ specs:
13
+ helena (0.3.3)
14
+ bootstrap-sass (~> 3.2)
15
+ breadcrumbs_on_rails (~> 2.3)
16
+ haml-rails (~> 0.5)
17
+ jquery-rails (~> 3.1)
18
+ mongoid (~> 4.0.0.rc2)
19
+ mongoid-simple-tags (~> 0.1)
20
+ mongoid_orderable (~> 4.1)
21
+ rails (~> 4.1)
22
+ rails-i18n (~> 4.0)
23
+ sass-rails (~> 4.0.3)
24
+ simple_form (~> 3.1.0.rc2)
25
+
26
+ GEM
27
+ remote: https://rubygems.org/
28
+ specs:
29
+ actionmailer (4.1.5)
30
+ actionpack (= 4.1.5)
31
+ actionview (= 4.1.5)
32
+ mail (~> 2.5.4)
33
+ actionpack (4.1.5)
34
+ actionview (= 4.1.5)
35
+ activesupport (= 4.1.5)
36
+ rack (~> 1.5.2)
37
+ rack-test (~> 0.6.2)
38
+ actionview (4.1.5)
39
+ activesupport (= 4.1.5)
40
+ builder (~> 3.1)
41
+ erubis (~> 2.7.0)
42
+ activemodel (4.1.5)
43
+ activesupport (= 4.1.5)
44
+ builder (~> 3.1)
45
+ activerecord (4.1.5)
46
+ activemodel (= 4.1.5)
47
+ activesupport (= 4.1.5)
48
+ arel (~> 5.0.0)
49
+ activesupport (4.1.5)
50
+ i18n (~> 0.6, >= 0.6.9)
51
+ json (~> 1.7, >= 1.7.7)
52
+ minitest (~> 5.1)
53
+ thread_safe (~> 0.1)
54
+ tzinfo (~> 1.1)
55
+ addressable (2.3.6)
56
+ arel (5.0.1.20140414130214)
57
+ better_errors (2.0.0)
58
+ coderay (>= 1.0.0)
59
+ erubis (>= 2.6.6)
60
+ rack (>= 0.9.0)
61
+ binding_of_caller (0.7.2)
62
+ debug_inspector (>= 0.0.1)
63
+ bootstrap-sass (3.2.0.1)
64
+ sass (~> 3.2)
65
+ breadcrumbs_on_rails (2.3.0)
66
+ bson (2.3.0)
67
+ builder (3.2.2)
68
+ byebug (3.4.0)
69
+ columnize (~> 0.8)
70
+ debugger-linecache (~> 1.2)
71
+ slop (~> 3.6)
72
+ capybara (2.4.1)
73
+ mime-types (>= 1.16)
74
+ nokogiri (>= 1.3.3)
75
+ rack (>= 1.0.0)
76
+ rack-test (>= 0.5.4)
77
+ xpath (~> 2.0)
78
+ childprocess (0.5.3)
79
+ ffi (~> 1.0, >= 1.0.11)
80
+ coderay (1.1.0)
81
+ colorize (0.7.3)
82
+ columnize (0.8.9)
83
+ connection_pool (2.0.0)
84
+ coveralls (0.7.1)
85
+ multi_json (~> 1.3)
86
+ rest-client
87
+ simplecov (>= 0.7)
88
+ term-ansicolor
89
+ thor
90
+ database_cleaner (1.3.0)
91
+ debug_inspector (0.0.2)
92
+ debugger-linecache (1.2.0)
93
+ diff-lcs (1.2.5)
94
+ docile (1.1.5)
95
+ easy_translate (0.5.0)
96
+ json
97
+ thread
98
+ thread_safe
99
+ erubis (2.7.0)
100
+ factory_girl (4.4.0)
101
+ activesupport (>= 3.0.0)
102
+ factory_girl_rails (4.4.1)
103
+ factory_girl (~> 4.4.0)
104
+ railties (>= 3.0.0)
105
+ ffaker (1.25.0)
106
+ ffi (1.9.3)
107
+ haml (4.0.5)
108
+ tilt
109
+ haml-rails (0.5.3)
110
+ actionpack (>= 4.0.1)
111
+ activesupport (>= 4.0.1)
112
+ haml (>= 3.1, < 5.0)
113
+ railties (>= 4.0.1)
114
+ highline (1.6.21)
115
+ hike (1.2.3)
116
+ i18n (0.6.11)
117
+ i18n-tasks (0.7.4)
118
+ activesupport
119
+ easy_translate (>= 0.5.0)
120
+ erubis
121
+ highline
122
+ i18n
123
+ slop (>= 3.5.0)
124
+ term-ansicolor
125
+ terminal-table
126
+ jquery-rails (3.1.2)
127
+ railties (>= 3.0, < 5.0)
128
+ thor (>= 0.14, < 2.0)
129
+ json (1.8.1)
130
+ launchy (2.4.2)
131
+ addressable (~> 2.3)
132
+ mail (2.5.4)
133
+ mime-types (~> 1.16)
134
+ treetop (~> 1.4.8)
135
+ method_source (0.8.2)
136
+ mime-types (1.25.1)
137
+ mini_portile (0.6.0)
138
+ minitest (5.4.1)
139
+ mongoid (4.0.0)
140
+ activemodel (~> 4.0)
141
+ moped (~> 2.0.0)
142
+ origin (~> 2.1)
143
+ tzinfo (>= 0.3.37)
144
+ mongoid-simple-tags (0.1.3)
145
+ json (~> 1.8)
146
+ mongoid (>= 3.0.3)
147
+ mongoid_orderable (4.1.0)
148
+ mongoid
149
+ moped (2.0.0)
150
+ bson (~> 2.2)
151
+ connection_pool (~> 2.0)
152
+ optionable (~> 0.2.0)
153
+ multi_json (1.10.1)
154
+ netrc (0.7.7)
155
+ nokogiri (1.6.3.1)
156
+ mini_portile (= 0.6.0)
157
+ optionable (0.2.0)
158
+ origin (2.1.1)
159
+ polyglot (0.3.5)
160
+ pry (0.10.1)
161
+ coderay (~> 1.1.0)
162
+ method_source (~> 0.8.1)
163
+ slop (~> 3.4)
164
+ pry-byebug (2.0.0)
165
+ byebug (~> 3.4)
166
+ pry (~> 0.10)
167
+ quiet_assets (1.0.3)
168
+ railties (>= 3.1, < 5.0)
169
+ rack (1.5.2)
170
+ rack-test (0.6.2)
171
+ rack (>= 1.0)
172
+ rails (4.1.5)
173
+ actionmailer (= 4.1.5)
174
+ actionpack (= 4.1.5)
175
+ actionview (= 4.1.5)
176
+ activemodel (= 4.1.5)
177
+ activerecord (= 4.1.5)
178
+ activesupport (= 4.1.5)
179
+ bundler (>= 1.3.0, < 2.0)
180
+ railties (= 4.1.5)
181
+ sprockets-rails (~> 2.0)
182
+ rails-i18n (4.0.2)
183
+ i18n (~> 0.6)
184
+ rails (>= 4.0)
185
+ railties (4.1.5)
186
+ actionpack (= 4.1.5)
187
+ activesupport (= 4.1.5)
188
+ rake (>= 0.8.7)
189
+ thor (>= 0.18.1, < 2.0)
190
+ rake (10.3.2)
191
+ rest-client (1.7.2)
192
+ mime-types (>= 1.16, < 3.0)
193
+ netrc (~> 0.7)
194
+ rspec (3.0.0)
195
+ rspec-core (~> 3.0.0)
196
+ rspec-expectations (~> 3.0.0)
197
+ rspec-mocks (~> 3.0.0)
198
+ rspec-collection_matchers (1.0.0)
199
+ rspec-expectations (>= 2.99.0.beta1)
200
+ rspec-core (3.0.4)
201
+ rspec-support (~> 3.0.0)
202
+ rspec-expectations (3.0.4)
203
+ diff-lcs (>= 1.2.0, < 2.0)
204
+ rspec-support (~> 3.0.0)
205
+ rspec-mocks (3.0.4)
206
+ rspec-support (~> 3.0.0)
207
+ rspec-rails (3.0.2)
208
+ actionpack (>= 3.0)
209
+ activesupport (>= 3.0)
210
+ railties (>= 3.0)
211
+ rspec-core (~> 3.0.0)
212
+ rspec-expectations (~> 3.0.0)
213
+ rspec-mocks (~> 3.0.0)
214
+ rspec-support (~> 3.0.0)
215
+ rspec-support (3.0.4)
216
+ ruby-progressbar (1.5.1)
217
+ rubyzip (1.1.6)
218
+ sass (3.2.19)
219
+ sass-rails (4.0.3)
220
+ railties (>= 4.0.0, < 5.0)
221
+ sass (~> 3.2.0)
222
+ sprockets (~> 2.8, <= 2.11.0)
223
+ sprockets-rails (~> 2.0)
224
+ selenium-webdriver (2.42.0)
225
+ childprocess (>= 0.5.0)
226
+ multi_json (~> 1.0)
227
+ rubyzip (~> 1.0)
228
+ websocket (~> 1.0.4)
229
+ simple_form (3.1.0.rc2)
230
+ actionpack (~> 4.0)
231
+ activemodel (~> 4.0)
232
+ simplecov (0.9.0)
233
+ docile (~> 1.1.0)
234
+ multi_json
235
+ simplecov-html (~> 0.8.0)
236
+ simplecov-html (0.8.0)
237
+ slop (3.6.0)
238
+ sprockets (2.11.0)
239
+ hike (~> 1.2)
240
+ multi_json (~> 1.0)
241
+ rack (~> 1.0)
242
+ tilt (~> 1.1, != 1.3.0)
243
+ sprockets-rails (2.1.3)
244
+ actionpack (>= 3.0)
245
+ activesupport (>= 3.0)
246
+ sprockets (~> 2.8)
247
+ term-ansicolor (1.3.0)
248
+ tins (~> 1.0)
249
+ terminal-table (1.4.5)
250
+ thor (0.19.1)
251
+ thread (0.1.4)
252
+ thread_safe (0.3.4)
253
+ tilt (1.4.1)
254
+ tins (1.3.2)
255
+ treetop (1.4.15)
256
+ polyglot
257
+ polyglot (>= 0.3.1)
258
+ tzinfo (1.2.2)
259
+ thread_safe (~> 0.1)
260
+ websocket (1.0.7)
261
+ xpath (2.0.0)
262
+ nokogiri (~> 1.3)
263
+
264
+ PLATFORMS
265
+ ruby
266
+
267
+ DEPENDENCIES
268
+ better_errors
269
+ binding_of_caller
270
+ bootstrap-sass
271
+ breadcrumbs_on_rails
272
+ capybara (~> 2.3)
273
+ colorize
274
+ coveralls
275
+ database_cleaner (~> 1.3)
276
+ factory_girl_rails (~> 4.4)
277
+ ffaker (~> 1.23)
278
+ helena!
279
+ i18n-tasks
280
+ jquery-rails
281
+ launchy
282
+ mongoid-rspec!
283
+ pry
284
+ pry-byebug
285
+ quiet_assets
286
+ rspec-collection_matchers (~> 1)
287
+ rspec-rails (~> 3)
288
+ ruby-progressbar
289
+ selenium-webdriver
290
+ simple_form
data/LICENSE ADDED
@@ -0,0 +1,16 @@
1
+ Helena is an online survey/test framework designed for agile
2
+ survey/test development, longitudinal studies and instant feedback.
3
+ Copyright (C) 2014 Markus Graf <info@markusgraf.ch>
4
+
5
+ This program is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ This program is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU General Public License for more details.
14
+
15
+ You should have received a copy of the GNU General Public License
16
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
data/README.md ADDED
@@ -0,0 +1,90 @@
1
+ [![Build Status](https://img.shields.io/travis/gurix/helena/master.svg?style=flat)](https://travis-ci.org/gurix/helena)
2
+ [![Code Climate](https://img.shields.io/codeclimate/github/gurix/helena.svg?style=flat)](https://codeclimate.com/github/gurix/helena)
3
+ [![Dependency Status](https://img.shields.io/gemnasium/gurix/helena.svg?style=flat)](https://gemnasium.com/gurix/helena)
4
+ # Helena
5
+ Helena is an online survey/test framework designed for agile survey/test development, longitudinal studies and instant feedback.
6
+
7
+ ![swiss made software](https://raw.githubusercontent.com/gurix/helena/master/app/assets/images/helena/swissmadesoftware.png "swiss made software")
8
+
9
+ Demo: http://helena-demo.herokuapp.com (https://github.com/gurix/helena-demo)
10
+ ## Requirements
11
+ * Rails (4.1 or higher)
12
+ * Mongoid (4.0.0 or higher)
13
+ * MongoDB 2.4.10 (2.6 does not work atm because of an intolerance with mongoid https://github.com/mongoid/mongoid/issues/3611)
14
+
15
+ ## Installation
16
+ Add this line to your application's Gemfile:
17
+
18
+ gem 'helena'
19
+
20
+ And then execute:
21
+
22
+ $ bundle install
23
+
24
+ ## Usage
25
+
26
+ Add this line to your routes will and you will be good to go!
27
+
28
+ mount Helena::Engine => '/helena'
29
+
30
+ All helena controllers inherit from your `ApplicationController`. So define the `can_administer?` method in your `ApplicationController`. `can_administer?` determines whether current user can create/update survey questions.
31
+
32
+ Typical implementation would be:
33
+
34
+ ```ruby
35
+ class ApplicationController < ActionController::Base
36
+ def current_user
37
+ @current_user ||= User.find(session[:user_id])
38
+ end
39
+
40
+ def can_administer?
41
+ current_user.try(:admin?)
42
+ end
43
+ end
44
+ ```
45
+
46
+ ## TODOS
47
+ * Support more question types, i.e Dates, Numeric inputs with validation, emails, ...
48
+ * Customize question type views for each survey
49
+ * Better admininterface with much better usability
50
+
51
+ ## Dummy site for development
52
+
53
+ ```
54
+ rake -f spec/dummy/Rakefile db:seed
55
+ cd spec/dummy
56
+ rails s
57
+ open http://localhost:3000/helena/admin/surveys
58
+ ```
59
+ ## Contributing
60
+
61
+ 1. Fork it
62
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
63
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
64
+ 4. Push to the branch (`git push origin my-new-feature`)
65
+ 5. Create new Pull Request
66
+
67
+ ## Support
68
+
69
+ If you like helena and want to support the development, I would appreciate a donation:
70
+
71
+ [![Donate](https://www.paypalobjects.com/en_US/CH/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=info%40markusgraf%2ech&lc=CH&item_name=Helena&currency_code=CHF&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted)
72
+
73
+ ## License
74
+
75
+ Helena is an online survey/test framework designed for agile
76
+ survey/test development, longitudinal studies and instant feedback.
77
+ Copyright (C) 2014 Markus Graf <info@markusgraf.ch>
78
+
79
+ This program is free software: you can redistribute it and/or modify
80
+ it under the terms of the GNU General Public License as published by
81
+ the Free Software Foundation, either version 3 of the License, or
82
+ (at your option) any later version.
83
+
84
+ This program is distributed in the hope that it will be useful,
85
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
86
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
87
+ GNU General Public License for more details.
88
+
89
+ You should have received a copy of the GNU General Public License
90
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
data/Rakefile ADDED
@@ -0,0 +1,29 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+ require 'rails/mongoid'
9
+
10
+ RDoc::Task.new(:rdoc) do |rdoc|
11
+ rdoc.rdoc_dir = 'rdoc'
12
+ rdoc.title = 'Helena'
13
+ rdoc.options << '--line-numbers'
14
+ rdoc.rdoc_files.include('README.rdoc')
15
+ rdoc.rdoc_files.include('lib/**/*.rb')
16
+ end
17
+
18
+ APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
19
+ load 'rails/tasks/engine.rake'
20
+
21
+ Bundler::GemHelper.install_tasks
22
+
23
+ require 'rspec/core'
24
+ require 'rspec/core/rake_task'
25
+
26
+ desc 'Run all specs in spec directory (excluding plugin specs)'
27
+ RSpec::Core::RakeTask.new(spec: 'app:db:test:prepare')
28
+
29
+ task default: :spec
File without changes
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+
4
+ <!-- The icon can be used freely in both personal and commercial projects with no attribution required, but always appreciated.
5
+ You may NOT sub-license, resell, rent, redistribute or otherwise transfer the icon without express written permission from iconmonstr.com -->
6
+
7
+
8
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
9
+
10
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
11
+
12
+ width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
13
+
14
+ <path id="download-11-icon" d="M461.4,244.318c0,50.852-41.371,92.221-92.221,92.221h-36.847v-40h36.847
15
+
16
+ c28.795,0,52.221-23.426,52.221-52.221c0-35.412-23.816-53.746-49.18-53.844c-1.303-58.902-40.637-84.982-78.664-84.982
17
+
18
+ c-50.308,0-70.974,38.08-76.131,52.662c-20.51-29.582-76.177-7.248-64.641,32.348C118.25,184.24,90.6,210.24,90.6,244.318
19
+
20
+ c0,28.795,23.427,52.221,53.222,52.221h50.512v40h-50.512c-51.852,0-93.222-41.369-93.222-92.221
21
+
22
+ c0-41.408,27.561-77.127,66.153-88.463c10.854-36.998,49.784-58.686,86.933-48.779c22.24-26.299,54.773-41.584,89.871-41.584
23
+
24
+ c57.115,0,105.365,40.816,115.781,95.777C440.941,176.473,461.4,208.404,461.4,244.318z M336.918,372.8h-33.84v-76.261h-79.486
25
+
26
+ V372.8h-33.84l73.582,73.708L336.918,372.8z"/>
27
+
28
+ </svg>
29
+
@@ -0,0 +1,4 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ $(document).ready(function() { })
4
+ //= require bootstrap
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,7 @@
1
+ .helena-admin
2
+ table.labels
3
+
4
+ td.position
5
+ input
6
+ max-width: 80px
7
+
@@ -0,0 +1,6 @@
1
+ .helena-admin
2
+ .actions
3
+ font-size: 18pt
4
+
5
+ .icon
6
+ width: 70px
@@ -0,0 +1,7 @@
1
+ .helena-admin
2
+ table.question_groups
3
+
4
+ td:last-child
5
+ min-width: 200px
6
+ text-align: right
7
+
@@ -0,0 +1,9 @@
1
+ .helena-admin
2
+ table.questions
3
+
4
+ td.type
5
+ min-width: 150px
6
+
7
+ td:last-child
8
+ min-width: 200px
9
+ text-align: right
@@ -0,0 +1,5 @@
1
+ .helena-admin
2
+ table.sessions
3
+
4
+ td:last-child
5
+ text-align: right
@@ -0,0 +1,7 @@
1
+ .helena-admin
2
+ table.sub_questions
3
+
4
+ td.position
5
+ input
6
+ max-width: 80px
7
+
@@ -0,0 +1,9 @@
1
+ .helena-admin
2
+ table.versions
3
+
4
+ td.created_at
5
+ min-width: 150px
6
+
7
+ td:last-child
8
+ min-width: 150px
9
+ text-align: right
@@ -0,0 +1,21 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require_tree .
13
+ */
14
+
15
+ /* Needed because of http://stackoverflow.com/a/24958307/437892 */
16
+ @import "bootstrap-sprockets"
17
+
18
+ @import "bootstrap"
19
+
20
+ .hide-text
21
+ visibility: hidden
@@ -0,0 +1,13 @@
1
+ form
2
+ .error
3
+ .help-inline
4
+ @extend .text-danger !optional
5
+ padding: 5px
6
+
7
+ label.checkbox
8
+ display: inline
9
+ padding: 0px
10
+
11
+ .form-control
12
+ width: auto
13
+ height: auto
@@ -0,0 +1,3 @@
1
+ .container
2
+ padding-bottom: 10px
3
+ margin-top: 20px
@@ -0,0 +1,4 @@
1
+ table.question_groups
2
+
3
+ td:last-child
4
+ text-align: right