helena 1.3.0 → 2.1.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 (69) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +17 -10
  4. data/.travis.yml +16 -5
  5. data/Gemfile +6 -3
  6. data/Gemfile.lock +189 -211
  7. data/README.md +4 -5
  8. data/Rakefile +1 -2
  9. data/app/assets/javascripts/helena/application.js +0 -1
  10. data/app/assets/stylesheets/helena/{application.css.sass → application.scss} +0 -8
  11. data/app/controllers/helena/sessions_controller.rb +7 -1
  12. data/app/helpers/helena/application_helper.rb +18 -0
  13. data/app/models/helena/concerns/questions/validates_one_label.rb +1 -0
  14. data/app/models/helena/question.rb +1 -0
  15. data/app/models/helena/question_group.rb +8 -0
  16. data/app/models/helena/questions/static_text.rb +4 -0
  17. data/app/models/helena/session.rb +2 -20
  18. data/app/models/helena/sub_question.rb +1 -0
  19. data/app/models/helena/version.rb +4 -0
  20. data/app/views/helena/questions/_bipolar_radio_matrix.html.slim +36 -0
  21. data/app/views/helena/questions/{_checkbox_group.html.haml → _checkbox_group.html.slim} +6 -8
  22. data/app/views/helena/questions/_long_text.html.slim +9 -0
  23. data/app/views/helena/questions/{_radio_group.html.haml → _radio_group.html.slim} +5 -6
  24. data/app/views/helena/questions/_radio_matrix.html.slim +27 -0
  25. data/app/views/helena/questions/_short_text.html.slim +9 -0
  26. data/app/views/helena/questions/_static_text.html.slim +2 -4
  27. data/app/views/helena/sessions/_error_messages.html.slim +8 -0
  28. data/app/views/helena/sessions/edit.html.slim +11 -7
  29. data/app/views/helena/sessions/end_message.html.slim +1 -1
  30. data/config/locales/en.yml +13 -12
  31. data/config/locales/views/sessions/en.yml +1 -0
  32. data/db/seeds.rb +1 -1
  33. data/helena.gemspec +15 -20
  34. data/lib/helena.rb +0 -3
  35. data/lib/helena/engine.rb +1 -1
  36. data/lib/helena/survey_importer.rb +4 -1
  37. data/lib/helena/version.rb +1 -1
  38. data/spec/controllers/helena/sessions_controller_spec.rb +2 -2
  39. data/spec/dummy/Rakefile +1 -1
  40. data/spec/dummy/app/assets/config/manifest.js +2 -0
  41. data/spec/dummy/app/views/layouts/{application.html.haml → application.html.slim} +10 -10
  42. data/spec/dummy/bin/bundle +1 -1
  43. data/spec/dummy/bin/rails +1 -1
  44. data/spec/dummy/config/application.rb +1 -2
  45. data/spec/dummy/config/boot.rb +2 -2
  46. data/spec/dummy/config/environment.rb +1 -1
  47. data/spec/factories/helena/surveys.rb +1 -1
  48. data/spec/factories/helena/versions.rb +2 -2
  49. data/spec/features/helena/manage_session_spec.rb +40 -36
  50. data/spec/helpers/application_helper_spec.rb +10 -0
  51. data/spec/models/helena/session_spec.rb +1 -8
  52. data/spec/models/helena/sub_question_spec.rb +1 -1
  53. data/spec/spec_helper.rb +3 -1
  54. data/spec/support/rails_compatibility.rb +1 -1
  55. metadata +63 -141
  56. data/.coveralls.yml +0 -2
  57. data/Appraisals +0 -12
  58. data/app/assets/stylesheets/helena/forms.css.sass +0 -13
  59. data/app/assets/stylesheets/helena/layout.css.sass +0 -3
  60. data/app/assets/stylesheets/helena/question_groups.css.sass +0 -4
  61. data/app/views/helena/questions/_bipolar_radio_matrix.html.haml +0 -56
  62. data/app/views/helena/questions/_long_text.html.haml +0 -8
  63. data/app/views/helena/questions/_radio_matrix.html.haml +0 -53
  64. data/app/views/helena/questions/_short_text.html.haml +0 -8
  65. data/config/initializers/simple_form_bootstrap.rb +0 -132
  66. data/gemfiles/rails_4.2.gemfile +0 -22
  67. data/gemfiles/rails_4.2.gemfile.lock +0 -295
  68. data/gemfiles/rails_5.1.gemfile +0 -24
  69. data/gemfiles/rails_5.1.gemfile.lock +0 -305
@@ -1,2 +0,0 @@
1
- service_name: travis-ci
2
- repo_token: eiMZVVK9qTM8cTOFC5MLLmgVkVcQb2nvw
data/Appraisals DELETED
@@ -1,12 +0,0 @@
1
- appraise 'rails-4.2' do
2
- gem 'rails', '4.2'
3
- gem 'mongoid-rspec', group: %i[development test]
4
- gemspec
5
- end
6
-
7
- appraise 'rails-5.0' do
8
- gem 'rails', '5.0'
9
- gem 'mongoid', '>= 6.0'
10
- gem 'mongoid-rspec', git: 'https://github.com/mongoid-rspec/mongoid-rspec.git', group: %i[development test]
11
- gemspec
12
- end
@@ -1,13 +0,0 @@
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
@@ -1,3 +0,0 @@
1
- .container
2
- padding-bottom: 10px
3
- margin-top: 20px
@@ -1,4 +0,0 @@
1
- table.question_groups
2
-
3
- td:last-child
4
- text-align: right
@@ -1,56 +0,0 @@
1
- - label_width = "#{60 / question.labels.count}%"
2
- - mobile = (browser.device.mobile? || browser.device.tablet?) # Use a special layout for this devices
3
-
4
- .radio_matrix.form-group{ class: "#{'has-error' if errors.present?}" }
5
- %label{class: "#{'text-danger' if errors.present?}"}
6
- != question.question_text
7
- = ' *' if question.required
8
- - unless mobile
9
- .table-responsive
10
- %table.table
11
- %thead
12
- %tr
13
- %th
14
- - question.labels.each do |label|
15
- %th{ width: label_width }
16
- = label.text
17
- %th
18
-
19
- %tbody
20
- - question.sub_questions.each do |sub_question|
21
- %tr
22
- %td.text-right
23
- = sub_question.parts.first
24
- - if errors[sub_question.code]
25
- .help-block.text-danger= errors[sub_question.code]
26
- - question.labels.each do |label|
27
- - checked = answers[sub_question.code].to_s == label.value.to_s if answers[sub_question.code].present?
28
- - checked ||= (label.preselected? ? true : false)
29
- %td{ width: label_width }
30
- %label
31
- = form.simple_fields_for :answers do |answer_form|
32
- = answer_form.radio_button sub_question.code, label.value, checked: checked
33
- %span.hide-text= label.text
34
- %td
35
- = sub_question.parts.last if sub_question.splitted?
36
- - if mobile
37
- .mobile
38
- - question.sub_questions.each do |sub_question|
39
- %table.table.well
40
- %tbody
41
- %tr
42
- %td.part= sub_question.parts.first
43
- %tr
44
- %td
45
- - question.labels.each do |label|
46
- - checked = answers[sub_question.code].to_s == label.value.to_s if answers[sub_question.code].present?
47
- - checked ||= (label.preselected? ? true : false)
48
- .radio
49
- %label.responsive_label
50
- = form.simple_fields_for :answers do |answer_form|
51
- = answer_form.radio_button sub_question.code, label.value, checked: checked
52
- = label.text
53
-  
54
- - if sub_question.splitted?
55
- %tr
56
- %td.part= sub_question.parts.last
@@ -1,8 +0,0 @@
1
- .long_text.form-group{ class: "#{'has-error' if errors[question.code]}" }
2
- %label
3
- != question.question_text
4
- = ' *' if question.required
5
- = form.simple_fields_for :answers do |answer_form|
6
- = answer_form.text_area question.code, value: answers[question.code], class: 'form-control'
7
- - if errors[question.code]
8
- .help-block.text-danger= errors[question.code]
@@ -1,53 +0,0 @@
1
- - label_width = "#{80 / question.labels.count}%"
2
- - mobile = (browser.device.mobile? || browser.device.tablet?) # Use a special layout for this devices
3
-
4
- .radio_matrix.form-group{ class: "#{'has-error' if errors.present?}" }
5
- %label{class: "#{'text-danger' if errors.present?}"}
6
- != question.question_text
7
- = ' *' if question.required
8
- - unless mobile
9
- .table-responsive
10
- %table.table
11
- %thead
12
- %tr
13
- %th
14
- - question.labels.each do |label|
15
- %th{ width: label_width }
16
- = label.text
17
- %tbody
18
- - question.sub_questions.each do |sub_question|
19
- %tr
20
- %td
21
- = sub_question.parts.first
22
- - if errors[sub_question.code]
23
- .help-block.text-danger= errors[sub_question.code]
24
- - question.labels.each do |label|
25
- - checked = answers[sub_question.code].to_s == label.value.to_s if answers[sub_question.code].present?
26
- - checked ||= (label.preselected? ? true : false)
27
- %td{ width: label_width }
28
- %label
29
- = form.simple_fields_for :answers do |answer_form|
30
- = answer_form.radio_button sub_question.code, label.value, checked: checked
31
- %span.hide-text= label.text
32
-
33
- - if mobile
34
- .mobile
35
- - question.sub_questions.each do |sub_question|
36
- %table.table.well
37
- %tbody
38
- %tr
39
- %td.part= sub_question.parts.first
40
- %tr
41
- %td
42
- - question.labels.each do |label|
43
- - checked = answers[sub_question.code].to_s == label.value.to_s if answers[sub_question.code].present?
44
- - checked ||= (label.preselected? ? true : false)
45
- .radio
46
- %label.responsive_label
47
- = form.simple_fields_for :answers do |answer_form|
48
- = answer_form.radio_button sub_question.code, label.value, checked: checked
49
- = label.text
50
-  
51
- - if sub_question.splitted?
52
- %tr
53
- %td.part= sub_question.parts.last
@@ -1,8 +0,0 @@
1
- .short_text.form-group{ class: "#{'has-error' if errors[question.code]}" }
2
- %label
3
- != question.question_text
4
- = ' *' if question.required
5
- = form.simple_fields_for :answers do |answer_form|
6
- = answer_form.text_field question.code, value: answers[question.code], class: 'form-control'
7
- - if errors[question.code]
8
- .help-block.text-danger= errors[question.code]
@@ -1,132 +0,0 @@
1
- # Use this setup block to configure all options available in SimpleForm.
2
- SimpleForm.setup do |config| # rubocop:disable Metrics/BlockLength
3
- config.error_notification_class = 'alert alert-danger'
4
- config.button_class = 'btn btn-default'
5
- config.boolean_label_class = nil
6
-
7
- config.wrapper_mappings = { boolean: :vertical_boolean }
8
-
9
- config.wrappers :vertical_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
10
- b.use :html5
11
- b.use :placeholder
12
- b.optional :maxlength
13
- b.optional :pattern
14
- b.optional :min_max
15
- b.optional :readonly
16
- b.use :label, class: 'control-label'
17
-
18
- b.use :input, class: 'form-control'
19
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
20
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
21
- end
22
-
23
- config.wrappers :vertical_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
24
- b.use :html5
25
- b.use :placeholder
26
- b.optional :maxlength
27
- b.optional :readonly
28
- b.use :label, class: 'control-label'
29
-
30
- b.use :input
31
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
32
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
33
- end
34
-
35
- config.wrappers :vertical_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
36
- b.use :html5
37
- b.optional :readonly
38
-
39
- b.wrapper tag: 'div', class: 'checkbox' do |ba|
40
- ba.use :label_input
41
- end
42
-
43
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
44
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
45
- end
46
-
47
- config.wrappers :vertical_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
48
- b.use :html5
49
- b.optional :readonly
50
- b.use :label, class: 'control-label'
51
- b.use :input
52
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
53
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
54
- end
55
-
56
- config.wrappers :horizontal_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
57
- b.use :html5
58
- b.use :placeholder
59
- b.optional :maxlength
60
- b.optional :pattern
61
- b.optional :min_max
62
- b.optional :readonly
63
- b.use :label, class: 'col-sm-3 control-label'
64
-
65
- b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
66
- ba.use :input, class: 'form-control'
67
- ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
68
- ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
69
- end
70
- end
71
-
72
- config.wrappers :horizontal_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
73
- b.use :html5
74
- b.use :placeholder
75
- b.optional :maxlength
76
- b.optional :readonly
77
- b.use :label, class: 'col-sm-3 control-label'
78
-
79
- b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
80
- ba.use :input
81
- ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
82
- ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
83
- end
84
- end
85
-
86
- config.wrappers :horizontal_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
87
- b.use :html5
88
- b.optional :readonly
89
-
90
- b.wrapper tag: 'div', class: 'col-sm-offset-3 col-sm-9' do |wr|
91
- wr.wrapper tag: 'div', class: 'checkbox' do |ba|
92
- ba.use :label_input, class: 'col-sm-9'
93
- end
94
-
95
- wr.use :error, wrap_with: { tag: 'span', class: 'help-block' }
96
- wr.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
97
- end
98
- end
99
-
100
- config.wrappers :horizontal_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
101
- b.use :html5
102
- b.optional :readonly
103
-
104
- b.use :label, class: 'col-sm-3 control-label'
105
-
106
- b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
107
- ba.use :input
108
- ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
109
- ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
110
- end
111
- end
112
-
113
- config.wrappers :inline_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
114
- b.use :html5
115
- b.use :placeholder
116
- b.optional :maxlength
117
- b.optional :pattern
118
- b.optional :min_max
119
- b.optional :readonly
120
- b.use :label, class: 'sr-only'
121
-
122
- b.use :input, class: 'form-control'
123
- b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
124
- b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
125
- end
126
-
127
- # Wrappers for forms and inputs using the Bootstrap toolkit.
128
- # Check the Bootstrap docs (http://getbootstrap.com)
129
- # to learn about the different styles for forms and inputs,
130
- # buttons and other elements.
131
- config.default_wrapper = :vertical_form
132
- end
@@ -1,22 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", " ~> 4.2"
6
- gem "mongoid-rspec", :group => [:development, :test]
7
-
8
- group :development, :test do
9
- gem "pry"
10
- gem "pry-byebug"
11
- gem "ruby-progressbar"
12
- gem "better_errors"
13
- gem "launchy"
14
- gem "binding_of_caller"
15
- gem "selenium-webdriver"
16
- gem "simple_form"
17
- gem "jquery-rails"
18
- gem "bootstrap-sass"
19
- gem "shoulda-matchers"
20
- end
21
-
22
- gemspec :path => "../"
@@ -1,295 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- helena (1.3.0)
5
- bootstrap-sass (~> 3.2)
6
- browser (~> 2.0)
7
- haml-rails (~> 1.0)
8
- jquery-rails (~> 4.0)
9
- mongoid (>= 4.0)
10
- mongoid-simple-tags (~> 0.1)
11
- mongoid-tree (~> 2.0)
12
- mongoid_orderable (~> 4.1)
13
- rails (>= 4.2)
14
- rails-i18n (>= 4.0)
15
- responders (~> 2.0)
16
- sass-rails (~> 5.0)
17
- simple_form (~> 3.2)
18
- slim (~> 3.0)
19
-
20
- GEM
21
- remote: https://rubygems.org/
22
- specs:
23
- actionmailer (4.2.10)
24
- actionpack (= 4.2.10)
25
- actionview (= 4.2.10)
26
- activejob (= 4.2.10)
27
- mail (~> 2.5, >= 2.5.4)
28
- rails-dom-testing (~> 1.0, >= 1.0.5)
29
- actionpack (4.2.10)
30
- actionview (= 4.2.10)
31
- activesupport (= 4.2.10)
32
- rack (~> 1.6)
33
- rack-test (~> 0.6.2)
34
- rails-dom-testing (~> 1.0, >= 1.0.5)
35
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
36
- actionview (4.2.10)
37
- activesupport (= 4.2.10)
38
- builder (~> 3.1)
39
- erubis (~> 2.7.0)
40
- rails-dom-testing (~> 1.0, >= 1.0.5)
41
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
42
- activejob (4.2.10)
43
- activesupport (= 4.2.10)
44
- globalid (>= 0.3.0)
45
- activemodel (4.2.10)
46
- activesupport (= 4.2.10)
47
- builder (~> 3.1)
48
- activerecord (4.2.10)
49
- activemodel (= 4.2.10)
50
- activesupport (= 4.2.10)
51
- arel (~> 6.0)
52
- activesupport (4.2.10)
53
- i18n (~> 0.7)
54
- minitest (~> 5.1)
55
- thread_safe (~> 0.3, >= 0.3.4)
56
- tzinfo (~> 1.1)
57
- addressable (2.5.2)
58
- public_suffix (>= 2.0.2, < 4.0)
59
- appraisal (2.2.0)
60
- bundler
61
- rake
62
- thor (>= 0.14.0)
63
- arel (6.0.4)
64
- autoprefixer-rails (7.1.6)
65
- execjs
66
- better_errors (2.4.0)
67
- coderay (>= 1.0.0)
68
- erubi (>= 1.0.0)
69
- rack (>= 0.9.0)
70
- binding_of_caller (0.7.3)
71
- debug_inspector (>= 0.0.1)
72
- bootstrap-sass (3.3.7)
73
- autoprefixer-rails (>= 5.2.1)
74
- sass (>= 3.3.4)
75
- browser (2.5.2)
76
- bson (4.2.2)
77
- builder (3.2.3)
78
- byebug (9.1.0)
79
- capybara (2.15.4)
80
- addressable
81
- mini_mime (>= 0.1.3)
82
- nokogiri (>= 1.3.3)
83
- rack (>= 1.0.0)
84
- rack-test (>= 0.5.4)
85
- xpath (~> 2.0)
86
- childprocess (0.8.0)
87
- ffi (~> 1.0, >= 1.0.11)
88
- coderay (1.1.2)
89
- concurrent-ruby (1.0.5)
90
- crass (1.0.2)
91
- debug_inspector (0.0.3)
92
- diff-lcs (1.3)
93
- erubi (1.7.0)
94
- erubis (2.7.0)
95
- execjs (2.7.0)
96
- factory_bot (4.8.2)
97
- activesupport (>= 3.0.0)
98
- factory_bot_rails (4.8.2)
99
- factory_bot (~> 4.8.2)
100
- railties (>= 3.0.0)
101
- faker (1.8.4)
102
- i18n (~> 0.5)
103
- ffi (1.9.18)
104
- globalid (0.4.1)
105
- activesupport (>= 4.2.0)
106
- haml (5.0.4)
107
- temple (>= 0.8.0)
108
- tilt
109
- haml-rails (1.0.0)
110
- actionpack (>= 4.0.1)
111
- activesupport (>= 4.0.1)
112
- haml (>= 4.0.6, < 6.0)
113
- html2haml (>= 1.0.1)
114
- railties (>= 4.0.1)
115
- html2haml (2.2.0)
116
- erubis (~> 2.7.0)
117
- haml (>= 4.0, < 6)
118
- nokogiri (>= 1.6.0)
119
- ruby_parser (~> 3.5)
120
- i18n (0.9.1)
121
- concurrent-ruby (~> 1.0)
122
- jquery-rails (4.3.1)
123
- rails-dom-testing (>= 1, < 3)
124
- railties (>= 4.2.0)
125
- thor (>= 0.14, < 2.0)
126
- json (1.8.6)
127
- launchy (2.4.3)
128
- addressable (~> 2.3)
129
- loofah (2.1.1)
130
- crass (~> 1.0.2)
131
- nokogiri (>= 1.5.9)
132
- mail (2.7.0)
133
- mini_mime (>= 0.1.1)
134
- method_source (0.9.0)
135
- mini_mime (0.1.4)
136
- mini_portile2 (2.3.0)
137
- minitest (5.10.3)
138
- mongo (2.4.3)
139
- bson (>= 4.2.1, < 5.0.0)
140
- mongoid (5.2.1)
141
- activemodel (~> 4.0)
142
- mongo (>= 2.4.1, < 3.0.0)
143
- origin (~> 2.3)
144
- tzinfo (>= 0.3.37)
145
- mongoid-rspec (3.0.0)
146
- mongoid (~> 5.0)
147
- rake
148
- rspec (~> 3.3)
149
- mongoid-simple-tags (0.1.3)
150
- json (~> 1.8)
151
- mongoid (>= 3.0.3)
152
- mongoid-tree (2.1.0)
153
- mongoid (>= 4.0, < 7.0)
154
- mongoid_orderable (4.1.1)
155
- mongoid
156
- nokogiri (1.8.1)
157
- mini_portile2 (~> 2.3.0)
158
- origin (2.3.1)
159
- pry (0.11.2)
160
- coderay (~> 1.1.0)
161
- method_source (~> 0.9.0)
162
- pry-byebug (3.5.0)
163
- byebug (~> 9.1)
164
- pry (~> 0.10)
165
- public_suffix (3.0.0)
166
- rack (1.6.8)
167
- rack-test (0.6.3)
168
- rack (>= 1.0)
169
- rails (4.2.10)
170
- actionmailer (= 4.2.10)
171
- actionpack (= 4.2.10)
172
- actionview (= 4.2.10)
173
- activejob (= 4.2.10)
174
- activemodel (= 4.2.10)
175
- activerecord (= 4.2.10)
176
- activesupport (= 4.2.10)
177
- bundler (>= 1.3.0, < 2.0)
178
- railties (= 4.2.10)
179
- sprockets-rails
180
- rails-deprecated_sanitizer (1.0.3)
181
- activesupport (>= 4.2.0.alpha)
182
- rails-dom-testing (1.0.8)
183
- activesupport (>= 4.2.0.beta, < 5.0)
184
- nokogiri (~> 1.6)
185
- rails-deprecated_sanitizer (>= 1.0.1)
186
- rails-html-sanitizer (1.0.3)
187
- loofah (~> 2.0)
188
- rails-i18n (4.0.9)
189
- i18n (~> 0.7)
190
- railties (~> 4.0)
191
- railties (4.2.10)
192
- actionpack (= 4.2.10)
193
- activesupport (= 4.2.10)
194
- rake (>= 0.8.7)
195
- thor (>= 0.18.1, < 2.0)
196
- rake (12.2.1)
197
- rb-fsevent (0.10.2)
198
- rb-inotify (0.9.10)
199
- ffi (>= 0.5.0, < 2)
200
- responders (2.4.0)
201
- actionpack (>= 4.2.0, < 5.3)
202
- railties (>= 4.2.0, < 5.3)
203
- rspec (3.7.0)
204
- rspec-core (~> 3.7.0)
205
- rspec-expectations (~> 3.7.0)
206
- rspec-mocks (~> 3.7.0)
207
- rspec-collection_matchers (1.1.3)
208
- rspec-expectations (>= 2.99.0.beta1)
209
- rspec-core (3.7.0)
210
- rspec-support (~> 3.7.0)
211
- rspec-expectations (3.7.0)
212
- diff-lcs (>= 1.2.0, < 2.0)
213
- rspec-support (~> 3.7.0)
214
- rspec-mocks (3.7.0)
215
- diff-lcs (>= 1.2.0, < 2.0)
216
- rspec-support (~> 3.7.0)
217
- rspec-rails (3.7.1)
218
- actionpack (>= 3.0)
219
- activesupport (>= 3.0)
220
- railties (>= 3.0)
221
- rspec-core (~> 3.7.0)
222
- rspec-expectations (~> 3.7.0)
223
- rspec-mocks (~> 3.7.0)
224
- rspec-support (~> 3.7.0)
225
- rspec-support (3.7.0)
226
- ruby-progressbar (1.9.0)
227
- ruby_parser (3.10.1)
228
- sexp_processor (~> 4.9)
229
- rubyzip (1.2.1)
230
- sass (3.5.3)
231
- sass-listen (~> 4.0.0)
232
- sass-listen (4.0.0)
233
- rb-fsevent (~> 0.9, >= 0.9.4)
234
- rb-inotify (~> 0.9, >= 0.9.7)
235
- sass-rails (5.0.6)
236
- railties (>= 4.0.0, < 6)
237
- sass (~> 3.1)
238
- sprockets (>= 2.8, < 4.0)
239
- sprockets-rails (>= 2.0, < 4.0)
240
- tilt (>= 1.1, < 3)
241
- selenium-webdriver (3.7.0)
242
- childprocess (~> 0.5)
243
- rubyzip (~> 1.0)
244
- sexp_processor (4.10.0)
245
- shoulda-matchers (3.1.2)
246
- activesupport (>= 4.0.0)
247
- simple_form (3.5.0)
248
- actionpack (> 4, < 5.2)
249
- activemodel (> 4, < 5.2)
250
- slim (3.0.8)
251
- temple (>= 0.7.6, < 0.9)
252
- tilt (>= 1.3.3, < 2.1)
253
- sprockets (3.7.1)
254
- concurrent-ruby (~> 1.0)
255
- rack (> 1, < 3)
256
- sprockets-rails (3.2.1)
257
- actionpack (>= 4.0)
258
- activesupport (>= 4.0)
259
- sprockets (>= 3.0.0)
260
- temple (0.8.0)
261
- thor (0.20.0)
262
- thread_safe (0.3.6)
263
- tilt (2.0.8)
264
- tzinfo (1.2.4)
265
- thread_safe (~> 0.1)
266
- xpath (2.1.0)
267
- nokogiri (~> 1.3)
268
-
269
- PLATFORMS
270
- ruby
271
-
272
- DEPENDENCIES
273
- appraisal
274
- better_errors
275
- binding_of_caller
276
- bootstrap-sass
277
- capybara (~> 2.3)
278
- factory_bot_rails
279
- faker (~> 1.4)
280
- helena!
281
- jquery-rails
282
- launchy
283
- mongoid-rspec
284
- pry
285
- pry-byebug
286
- rails (~> 4.2)
287
- rspec-collection_matchers (~> 1)
288
- rspec-rails (~> 3)
289
- ruby-progressbar
290
- selenium-webdriver
291
- shoulda-matchers
292
- simple_form
293
-
294
- BUNDLED WITH
295
- 1.16.0.pre.3