helena 1.3.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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