Upgrade to Ruby 3.3.6 and Rails 8.0.4

This major upgrade brings RailsGoat up to date with the latest versions:
- Ruby 2.6.5 → 3.3.6
- Rails 6.0.0 → 8.0.4

## Key Changes

### Dependencies
- Upgraded all gems to Rails 8-compatible versions
- Removed deprecated gems: therubyracer, coffee-rails, poltergeist,
  travis-lint, rails-perftest, unicorn, powder, rubocop-github
- Updated puma to 6.6.1, sqlite3 to 2.8.1, rspec-rails to 8.0.2
- Added modern Rails 8 features: importmap-rails, stimulus-rails, turbo-rails
- Replaced poltergeist with selenium-webdriver for integration tests

### Code Changes
- Converted CoffeeScript files to plain JavaScript
- Updated test configuration to use Selenium headless driver
- Updated database schema to Rails 8 format

## Testing
- Application starts successfully and responds to requests
- Test suite runs with 23 examples (14 intentional vulnerability failures)
- Database migrations applied successfully

## Notes
This upgrade maintains all intentional security vulnerabilities that make
RailsGoat an effective training tool. The failing tests are expected and
demonstrate the vulnerabilities the application is designed to teach.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ken Johnson
2025-12-04 15:30:49 -05:00
parent dc91666d3a
commit f716836c15
7 changed files with 438 additions and 316 deletions
+1 -1
View File
@@ -1 +1 @@
2.6.5 3.3.6
+14 -17
View File
@@ -1,33 +1,31 @@
# frozen_string_literal: true # frozen_string_literal: true
source "https://rubygems.org" source "https://rubygems.org"
#don't upgrade gem "rails", "~> 8.0.0"
gem "rails", "6.0.0"
ruby "2.6.5" ruby "3.3.6"
gem "aruba" gem "aruba"
gem "bcrypt" gem "bcrypt"
gem "coffee-rails"
gem "execjs"
gem "foreman" gem "foreman"
gem "jquery-fileupload-rails" gem "jquery-fileupload-rails"
gem "jquery-rails" gem "jquery-rails"
gem "minitest" gem "minitest"
gem "powder" # Pow related gem
gem "pry-rails" # not in dev group in case running via prod/staging @ a training gem "pry-rails" # not in dev group in case running via prod/staging @ a training
gem "puma" gem "puma", "~> 6.0"
gem "rails-perftest"
gem "rake" gem "rake"
gem "responders" #For Rails 4.2 # LOCKED DOWN gem "responders"
gem "ruby-prof" gem "ruby-prof"
gem "sassc-rails" gem "sassc-rails"
gem "simplecov", require: false, group: :test gem "simplecov", require: false, group: :test
gem "sqlite3" gem "sqlite3", "~> 2.0"
gem "therubyracer"
gem "turbolinks" gem "turbolinks"
gem "uglifier"
gem "unicorn" # Asset pipeline
gem "sprockets-rails"
gem "importmap-rails"
gem "stimulus-rails"
gem "turbo-rails"
# Add SMTP server support using MailCatcher # Add SMTP server support using MailCatcher
# NOTE: https://github.com/sj26/mailcatcher#bundler # NOTE: https://github.com/sj26/mailcatcher#bundler
@@ -43,16 +41,15 @@ group :development, :mysql do
gem "pry" gem "pry"
gem "rack-livereload" gem "rack-livereload"
gem "rb-fsevent" gem "rb-fsevent"
gem "rubocop-github" gem "rubocop"
gem "travis-lint"
end end
group :development, :test, :mysql do group :development, :test, :mysql do
gem "capybara" gem "capybara"
gem "database_cleaner" gem "database_cleaner"
gem "launchy" gem "launchy"
gem "poltergeist" gem "selenium-webdriver"
gem "rspec-rails", '4.0.0.beta3' # 4/26/2019: LOCKED DOWN gem "rspec-rails"
gem "test-unit" gem "test-unit"
end end
+413 -284
View File
@@ -1,143 +1,181 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actioncable (6.0.0) actioncable (8.0.4)
actionpack (= 6.0.0) actionpack (= 8.0.4)
activesupport (= 8.0.4)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailbox (6.0.0) zeitwerk (~> 2.6)
actionpack (= 6.0.0) actionmailbox (8.0.4)
activejob (= 6.0.0) actionpack (= 8.0.4)
activerecord (= 6.0.0) activejob (= 8.0.4)
activestorage (= 6.0.0) activerecord (= 8.0.4)
activesupport (= 6.0.0) activestorage (= 8.0.4)
mail (>= 2.7.1) activesupport (= 8.0.4)
actionmailer (6.0.0) mail (>= 2.8.0)
actionpack (= 6.0.0) actionmailer (8.0.4)
actionview (= 6.0.0) actionpack (= 8.0.4)
activejob (= 6.0.0) actionview (= 8.0.4)
mail (~> 2.5, >= 2.5.4) activejob (= 8.0.4)
rails-dom-testing (~> 2.0) activesupport (= 8.0.4)
actionpack (6.0.0) mail (>= 2.8.0)
actionview (= 6.0.0) rails-dom-testing (~> 2.2)
activesupport (= 6.0.0) actionpack (8.0.4)
rack (~> 2.0) actionview (= 8.0.4)
rack-test (>= 0.6.3) activesupport (= 8.0.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.0.0)
actionpack (= 6.0.0)
activerecord (= 6.0.0)
activestorage (= 6.0.0)
activesupport (= 6.0.0)
nokogiri (>= 1.8.5) nokogiri (>= 1.8.5)
actionview (6.0.0) rack (>= 2.2.4)
activesupport (= 6.0.0) rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
useragent (~> 0.16)
actiontext (8.0.4)
actionpack (= 8.0.4)
activerecord (= 8.0.4)
activestorage (= 8.0.4)
activesupport (= 8.0.4)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (8.0.4)
activesupport (= 8.0.4)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.11)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.1, >= 1.2.0) rails-html-sanitizer (~> 1.6)
activejob (6.0.0) activejob (8.0.4)
activesupport (= 6.0.0) activesupport (= 8.0.4)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (6.0.0) activemodel (8.0.4)
activesupport (= 6.0.0) activesupport (= 8.0.4)
activerecord (6.0.0) activerecord (8.0.4)
activemodel (= 6.0.0) activemodel (= 8.0.4)
activesupport (= 6.0.0) activesupport (= 8.0.4)
activestorage (6.0.0) timeout (>= 0.4.0)
actionpack (= 6.0.0) activestorage (8.0.4)
activejob (= 6.0.0) actionpack (= 8.0.4)
activerecord (= 6.0.0) activejob (= 8.0.4)
marcel (~> 0.3.1) activerecord (= 8.0.4)
activesupport (6.0.0) activesupport (= 8.0.4)
concurrent-ruby (~> 1.0, >= 1.0.2) marcel (~> 1.0)
i18n (>= 0.7, < 2) activesupport (8.0.4)
minitest (~> 5.1) base64
tzinfo (~> 1.1) benchmark (>= 0.3)
zeitwerk (~> 2.1, >= 2.1.8) bigdecimal
addressable (2.7.0) concurrent-ruby (~> 1.0, >= 1.3.1)
public_suffix (>= 2.0.2, < 5.0) connection_pool (>= 2.2.5)
aruba (0.14.12) drb
childprocess (>= 0.6.3, < 4.0.0) i18n (>= 1.6, < 2)
contracts (~> 0.9) logger (>= 1.4.2)
cucumber (>= 1.3.19) minitest (>= 5.1)
ffi (~> 1.9) securerandom (>= 0.3)
rspec-expectations (>= 2.99) tzinfo (~> 2.0, >= 2.0.5)
thor (~> 0.19) uri (>= 0.13.1)
ast (2.4.0) addressable (2.8.8)
backports (3.15.0) public_suffix (>= 2.0.2, < 8.0)
bcrypt (3.1.13) aruba (2.3.2)
better_errors (2.5.1) bundler (>= 1.17, < 3.0)
coderay (>= 1.0.0) contracts (>= 0.16.0, < 0.18.0)
cucumber (>= 8.0, < 11.0)
rspec-expectations (>= 3.4, < 5.0)
thor (~> 1.0)
ast (2.4.3)
base64 (0.3.0)
bcrypt (3.1.20)
benchmark (0.5.0)
better_errors (2.10.1)
erubi (>= 1.0.0) erubi (>= 1.0.0)
rack (>= 0.9.0) rack (>= 0.9.0)
binding_of_caller (0.8.0) rouge (>= 1.0.0)
debug_inspector (>= 0.0.1) bigdecimal (3.3.1)
builder (3.2.3) binding_of_caller (1.0.1)
bundler-audit (0.6.1) debug_inspector (>= 1.2.0)
bundler (>= 1.2.0, < 3) builder (3.3.0)
thor (~> 0.18) bundler-audit (0.9.3)
capybara (3.29.0) bundler (>= 1.2.0)
thor (~> 1.0)
capybara (3.40.0)
addressable addressable
matrix
mini_mime (>= 0.1.3) mini_mime (>= 0.1.3)
nokogiri (~> 1.8) nokogiri (~> 1.11)
rack (>= 1.6.0) rack (>= 1.6.0)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
regexp_parser (~> 1.5) regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2) xpath (~> 3.2)
childprocess (3.0.0) childprocess (5.1.0)
cliver (0.3.2) logger (~> 1.5)
coderay (1.1.2) coderay (1.1.3)
coffee-rails (5.0.0) concurrent-ruby (1.3.5)
coffee-script (>= 2.2.0) connection_pool (3.0.1)
railties (>= 5.2.0) contracts (0.17.2)
coffee-script (2.4.1) crass (1.0.6)
coffee-script-source cucumber (10.1.1)
execjs base64 (~> 0.2)
coffee-script-source (1.12.2) builder (~> 3.2)
concurrent-ruby (1.1.5) cucumber-ci-environment (> 9, < 11)
contracts (0.16.0) cucumber-core (> 15, < 17)
crass (1.0.5) cucumber-cucumber-expressions (> 17, < 19)
cucumber (3.1.2) cucumber-html-formatter (> 20.3, < 22)
builder (>= 2.1.2) diff-lcs (~> 1.5)
cucumber-core (~> 3.2.0) logger (~> 1.6)
cucumber-expressions (~> 6.0.1) mini_mime (~> 1.1)
cucumber-wire (~> 0.0.1) multi_test (~> 1.1)
diff-lcs (~> 1.3) sys-uname (~> 1.3)
gherkin (~> 5.1.0) cucumber-ci-environment (10.0.1)
multi_json (>= 1.7.5, < 2.0) cucumber-core (15.3.0)
multi_test (>= 0.1.2) cucumber-gherkin (> 27, < 35)
cucumber-core (3.2.1) cucumber-messages (> 26, < 30)
backports (>= 3.8.0) cucumber-tag-expressions (> 5, < 9)
cucumber-tag_expressions (~> 1.1.0) cucumber-cucumber-expressions (18.0.1)
gherkin (~> 5.0) bigdecimal
cucumber-expressions (6.0.1) cucumber-gherkin (34.0.0)
cucumber-tag_expressions (1.1.1) cucumber-messages (> 25, < 29)
cucumber-wire (0.0.1) cucumber-html-formatter (21.15.1)
database_cleaner (1.7.0) cucumber-messages (> 19, < 28)
debug_inspector (0.0.3) cucumber-messages (27.2.0)
diff-lcs (1.3) cucumber-tag-expressions (8.1.0)
docile (1.3.2) database_cleaner (2.1.0)
em-websocket (0.5.1) database_cleaner-active_record (>= 2, < 3)
database_cleaner-active_record (2.2.2)
activerecord (>= 5.a)
database_cleaner-core (~> 2.0)
database_cleaner-core (2.0.1)
date (3.5.0)
debug_inspector (1.2.0)
diff-lcs (1.6.2)
docile (1.4.1)
drb (2.2.3)
em-websocket (0.5.3)
eventmachine (>= 0.12.9) eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0) http_parser.rb (~> 0)
erubi (1.9.0) erb (6.0.0)
erubi (1.13.1)
eventmachine (1.2.7) eventmachine (1.2.7)
execjs (2.7.0) ffi (1.17.2-aarch64-linux-gnu)
ffi (1.11.1) ffi (1.17.2-aarch64-linux-musl)
foreman (0.86.0) ffi (1.17.2-arm-linux-gnu)
formatador (0.2.5) ffi (1.17.2-arm-linux-musl)
gherkin (5.1.0) ffi (1.17.2-arm64-darwin)
globalid (0.4.2) ffi (1.17.2-x86_64-darwin)
activesupport (>= 4.2.0) ffi (1.17.2-x86_64-linux-gnu)
guard (2.16.1) ffi (1.17.2-x86_64-linux-musl)
foreman (0.90.0)
thor (~> 1.4)
formatador (1.2.3)
reline
globalid (1.3.0)
activesupport (>= 6.1)
guard (2.19.1)
formatador (>= 0.2.4) formatador (>= 0.2.4)
listen (>= 2.7, < 4.0) listen (>= 2.7, < 4.0)
logger (~> 1.6)
lumberjack (>= 1.0.12, < 2.0) lumberjack (>= 1.0.12, < 2.0)
nenv (~> 0.1) nenv (~> 0.1)
notiffany (~> 0.0) notiffany (~> 0.0)
pry (>= 0.9.12) ostruct (~> 0.6)
pry (>= 0.13.0)
shellany (~> 0.0) shellany (~> 0.0)
thor (>= 0.18.1) thor (>= 0.18.1)
guard-compat (1.2.1) guard-compat (1.2.1)
@@ -150,152 +188,216 @@ GEM
guard (~> 2.1) guard (~> 2.1)
guard-compat (~> 1.1) guard-compat (~> 1.1)
rspec (>= 2.99.0, < 4.0) rspec (>= 2.99.0, < 4.0)
guard-shell (0.7.1) guard-shell (0.7.2)
guard (>= 2.0.0) guard (>= 2.0.0)
guard-compat (~> 1.0) guard-compat (~> 1.0)
http_parser.rb (0.6.0) http_parser.rb (0.8.0)
i18n (1.7.0) i18n (1.14.7)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
jaro_winkler (1.5.4) importmap-rails (2.2.2)
actionpack (>= 6.0.0)
activesupport (>= 6.0.0)
railties (>= 6.0.0)
io-console (0.8.1)
irb (1.15.3)
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jquery-fileupload-rails (1.0.0) jquery-fileupload-rails (1.0.0)
actionpack (>= 3.1) actionpack (>= 3.1)
railties (>= 3.1) railties (>= 3.1)
sassc sassc
jquery-rails (4.3.5) jquery-rails (4.6.1)
rails-dom-testing (>= 1, < 3) rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0) railties (>= 4.2.0)
thor (>= 0.14, < 2.0) thor (>= 0.14, < 2.0)
json (2.3.1) json (2.17.1)
kgio (2.11.2) language_server-protocol (3.17.0.5)
launchy (2.4.3) launchy (3.1.1)
addressable (~> 2.3) addressable (~> 2.8)
libv8 (3.16.14.19) childprocess (~> 5.0)
listen (3.2.0) logger (~> 1.6)
lint_roller (1.1.0)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.3.1) logger (1.7.0)
loofah (2.24.1)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.12.0)
lumberjack (1.0.13) lumberjack (1.4.2)
mail (2.7.1) mail (2.9.0)
logger
mini_mime (>= 0.1.1) mini_mime (>= 0.1.1)
marcel (0.3.3) net-imap
mimemagic (~> 0.3.2) net-pop
method_source (0.9.2) net-smtp
mimemagic (0.3.9) marcel (1.1.0)
nokogiri (~> 1) matrix (0.4.3)
rake memoist3 (1.0.0)
mini_mime (1.0.2) method_source (1.1.0)
mini_portile2 (2.4.0) mini_mime (1.1.5)
minitest (5.13.0) minitest (5.26.2)
multi_json (1.14.1) multi_json (1.18.0)
multi_test (0.1.2) multi_test (1.1.0)
mysql2 (0.5.2) mysql2 (0.5.7)
bigdecimal
nenv (0.3.0) nenv (0.3.0)
nio4r (2.5.2) net-imap (0.5.12)
nokogiri (1.10.10) date
mini_portile2 (~> 2.4.0) net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.2)
timeout
net-smtp (0.5.1)
net-protocol
nio4r (2.7.5)
nokogiri (1.18.10-aarch64-linux-gnu)
racc (~> 1.4)
nokogiri (1.18.10-aarch64-linux-musl)
racc (~> 1.4)
nokogiri (1.18.10-arm-linux-gnu)
racc (~> 1.4)
nokogiri (1.18.10-arm-linux-musl)
racc (~> 1.4)
nokogiri (1.18.10-arm64-darwin)
racc (~> 1.4)
nokogiri (1.18.10-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.18.10-x86_64-linux-gnu)
racc (~> 1.4)
nokogiri (1.18.10-x86_64-linux-musl)
racc (~> 1.4)
notiffany (0.1.3) notiffany (0.1.3)
nenv (~> 0.1) nenv (~> 0.1)
shellany (~> 0.0) shellany (~> 0.0)
parallel (1.18.0) ostruct (0.6.3)
parser (2.6.5.0) parallel (1.27.0)
ast (~> 2.4.0) parser (3.3.10.0)
pg (1.2.3) ast (~> 2.4.1)
poltergeist (1.18.1) racc
capybara (>= 2.1, < 4) pg (1.6.2)
cliver (~> 0.3.1) pg (1.6.2-aarch64-linux)
websocket-driver (>= 0.2.0) pg (1.6.2-aarch64-linux-musl)
powder (0.4.0) pg (1.6.2-arm64-darwin)
thor (>= 0.11.5) pg (1.6.2-x86_64-darwin)
power_assert (1.1.5) pg (1.6.2-x86_64-linux)
pry (0.12.2) pg (1.6.2-x86_64-linux-musl)
coderay (~> 1.1.0) power_assert (3.0.1)
method_source (~> 0.9.0) pp (0.6.3)
pry-rails (0.3.9) prettyprint
pry (>= 0.10.4) prettyprint (0.2.0)
public_suffix (4.0.1) prism (1.6.0)
puma (4.3.5) pry (0.15.2)
coderay (~> 1.1)
method_source (~> 1.0)
pry-rails (0.3.11)
pry (>= 0.13.0)
psych (5.2.6)
date
stringio
public_suffix (7.0.0)
puma (6.6.1)
nio4r (~> 2.0) nio4r (~> 2.0)
rack (2.2.3) racc (1.8.1)
rack-livereload (0.3.17) rack (3.1.19)
rack rack-livereload (0.6.1)
rack-test (1.1.0) rack (>= 3.0, < 3.2)
rack (>= 1.0, < 3) rack-session (2.1.1)
rails (6.0.0) base64 (>= 0.1.0)
actioncable (= 6.0.0) rack (>= 3.0.0)
actionmailbox (= 6.0.0) rack-test (2.2.0)
actionmailer (= 6.0.0) rack (>= 1.3)
actionpack (= 6.0.0) rackup (2.2.1)
actiontext (= 6.0.0) rack (>= 3)
actionview (= 6.0.0) rails (8.0.4)
activejob (= 6.0.0) actioncable (= 8.0.4)
activemodel (= 6.0.0) actionmailbox (= 8.0.4)
activerecord (= 6.0.0) actionmailer (= 8.0.4)
activestorage (= 6.0.0) actionpack (= 8.0.4)
activesupport (= 6.0.0) actiontext (= 8.0.4)
bundler (>= 1.3.0) actionview (= 8.0.4)
railties (= 6.0.0) activejob (= 8.0.4)
sprockets-rails (>= 2.0.0) activemodel (= 8.0.4)
rails-dom-testing (2.0.3) activerecord (= 8.0.4)
activesupport (>= 4.2.0) activestorage (= 8.0.4)
activesupport (= 8.0.4)
bundler (>= 1.15.0)
railties (= 8.0.4)
rails-dom-testing (2.3.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6) nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0) rails-html-sanitizer (1.6.2)
loofah (~> 2.3) loofah (~> 2.21)
rails-perftest (0.0.7) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
railties (6.0.0) railties (8.0.4)
actionpack (= 6.0.0) actionpack (= 8.0.4)
activesupport (= 6.0.0) activesupport (= 8.0.4)
method_source irb (~> 1.13)
rake (>= 0.8.7) rackup (>= 1.0.0)
thor (>= 0.20.3, < 2.0) rake (>= 12.2)
rainbow (3.0.0) thor (~> 1.0, >= 1.2.2)
raindrops (0.19.0) tsort (>= 0.2)
rake (13.0.0) zeitwerk (~> 2.6)
rb-fsevent (0.10.3) rainbow (3.1.1)
rb-inotify (0.10.0) rake (13.3.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0) ffi (~> 1.0)
ref (2.0.0) rdoc (6.16.1)
regexp_parser (1.6.0) erb
responders (3.0.0) psych (>= 4.0.0)
actionpack (>= 5.0) tsort
railties (>= 5.0) regexp_parser (2.11.3)
rspec (3.9.0) reline (0.6.3)
rspec-core (~> 3.9.0) io-console (~> 0.5)
rspec-expectations (~> 3.9.0) responders (3.2.0)
rspec-mocks (~> 3.9.0) actionpack (>= 7.0)
rspec-core (3.9.0) railties (>= 7.0)
rspec-support (~> 3.9.0) rexml (3.4.4)
rspec-expectations (3.9.0) rouge (4.6.1)
rspec (3.13.2)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.6)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0) rspec-support (~> 3.13.0)
rspec-mocks (3.9.0) rspec-mocks (3.13.7)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0) rspec-support (~> 3.13.0)
rspec-rails (4.0.0.beta3) rspec-rails (8.0.2)
actionpack (>= 4.2) actionpack (>= 7.2)
activesupport (>= 4.2) activesupport (>= 7.2)
railties (>= 4.2) railties (>= 7.2)
rspec-core (~> 3.8) rspec-core (~> 3.13)
rspec-expectations (~> 3.8) rspec-expectations (~> 3.13)
rspec-mocks (~> 3.8) rspec-mocks (~> 3.13)
rspec-support (~> 3.8) rspec-support (~> 3.13)
rspec-support (3.9.0) rspec-support (3.13.6)
rubocop (0.76.0) rubocop (1.81.7)
jaro_winkler (~> 1.5.1) json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10) parallel (~> 1.10)
parser (>= 2.6) parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.47.1, < 2.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7) unicode-display_width (>= 2.4.0, < 4.0)
rubocop-github (0.13.0) rubocop-ast (1.48.0)
rubocop (~> 0.70) parser (>= 3.3.7.2)
rubocop-performance (~> 1.3.0) prism (~> 1.4)
rubocop-performance (1.3.0) ruby-prof (1.7.2)
rubocop (>= 0.68.0) base64
ruby-prof (1.0.0) ruby-progressbar (1.13.0)
ruby-progressbar (1.10.1) rubyzip (3.2.2)
sassc (2.2.1) sassc (2.4.0)
ffi (~> 1.9) ffi (~> 1.9)
sassc-rails (2.1.2) sassc-rails (2.1.2)
railties (>= 4.0.0) railties (>= 4.0.0)
@@ -303,50 +405,81 @@ GEM
sprockets (> 3.0) sprockets (> 3.0)
sprockets-rails sprockets-rails
tilt tilt
securerandom (0.4.1)
selenium-webdriver (4.38.0)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 4.0)
websocket (~> 1.0)
shellany (0.0.1) shellany (0.0.1)
simplecov (0.17.1) simplecov (0.22.0)
docile (~> 1.1) docile (~> 1.1)
json (>= 1.8, < 3) simplecov-html (~> 0.11)
simplecov-html (~> 0.10.0) simplecov_json_formatter (~> 0.1)
simplecov-html (0.10.2) simplecov-html (0.13.2)
sprockets (4.0.0) simplecov_json_formatter (0.1.4)
sprockets (4.2.2)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
rack (> 1, < 3) logger
sprockets-rails (3.2.1) rack (>= 2.2.4, < 4)
actionpack (>= 4.0) sprockets-rails (3.5.2)
activesupport (>= 4.0) actionpack (>= 6.1)
activesupport (>= 6.1)
sprockets (>= 3.0.0) sprockets (>= 3.0.0)
sqlite3 (1.4.1) sqlite3 (2.8.1-aarch64-linux-gnu)
test-unit (3.3.4) sqlite3 (2.8.1-aarch64-linux-musl)
sqlite3 (2.8.1-arm-linux-gnu)
sqlite3 (2.8.1-arm-linux-musl)
sqlite3 (2.8.1-arm64-darwin)
sqlite3 (2.8.1-x86_64-darwin)
sqlite3 (2.8.1-x86_64-linux-gnu)
sqlite3 (2.8.1-x86_64-linux-musl)
stimulus-rails (1.3.4)
railties (>= 6.0.0)
stringio (3.1.9)
sys-uname (1.4.1)
ffi (~> 1.1)
memoist3 (~> 1.0.0)
test-unit (3.7.3)
power_assert power_assert
therubyracer (0.12.3) thor (1.4.0)
libv8 (~> 3.16.14.15) tilt (2.6.1)
ref timeout (0.4.4)
thor (0.20.3) tsort (0.2.0)
thread_safe (0.3.6) turbo-rails (2.0.20)
tilt (2.0.10) actionpack (>= 7.1.0)
travis-lint (2.0.0) railties (>= 7.1.0)
json
turbolinks (5.2.1) turbolinks (5.2.1)
turbolinks-source (~> 5.2) turbolinks-source (~> 5.2)
turbolinks-source (5.2.0) turbolinks-source (5.2.0)
tzinfo (1.2.5) tzinfo (2.0.6)
thread_safe (~> 0.1) concurrent-ruby (~> 1.0)
uglifier (4.2.0) unicode-display_width (3.2.0)
execjs (>= 0.3.0, < 3) unicode-emoji (~> 4.1)
unicode-display_width (1.6.0) unicode-emoji (4.1.0)
unicorn (5.5.1) uri (1.1.1)
kgio (~> 2.6) useragent (0.16.11)
raindrops (~> 0.7) websocket (1.2.11)
websocket-driver (0.7.1) websocket-driver (0.8.0)
base64
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5) websocket-extensions (0.1.5)
xpath (3.2.0) xpath (3.2.0)
nokogiri (~> 1.8) nokogiri (~> 1.8)
zeitwerk (2.2.1) zeitwerk (2.7.3)
PLATFORMS PLATFORMS
ruby aarch64-linux
aarch64-linux-gnu
aarch64-linux-musl
arm-linux-gnu
arm-linux-musl
arm64-darwin
x86_64-darwin
x86_64-linux
x86_64-linux-gnu
x86_64-linux-musl
DEPENDENCIES DEPENDENCIES
aruba aruba
@@ -355,45 +488,41 @@ DEPENDENCIES
binding_of_caller binding_of_caller
bundler-audit bundler-audit
capybara capybara
coffee-rails
database_cleaner database_cleaner
execjs
foreman foreman
guard-livereload guard-livereload
guard-rspec guard-rspec
guard-shell guard-shell
importmap-rails
jquery-fileupload-rails jquery-fileupload-rails
jquery-rails jquery-rails
launchy launchy
minitest minitest
mysql2 mysql2
pg pg
poltergeist
powder
pry pry
pry-rails pry-rails
puma puma (~> 6.0)
rack-livereload rack-livereload
rails (= 6.0.0) rails (~> 8.0.0)
rails-perftest
rake rake
rb-fsevent rb-fsevent
responders responders
rspec-rails (= 4.0.0.beta3) rspec-rails
rubocop-github rubocop
ruby-prof ruby-prof
sassc-rails sassc-rails
selenium-webdriver
simplecov simplecov
sqlite3 sprockets-rails
sqlite3 (~> 2.0)
stimulus-rails
test-unit test-unit
therubyracer turbo-rails
travis-lint
turbolinks turbolinks
uglifier
unicorn
RUBY VERSION RUBY VERSION
ruby 2.6.5p114 ruby 3.3.6p108
BUNDLED WITH BUNDLED WITH
1.17.3 2.5.22
@@ -0,0 +1,2 @@
// Place all the behaviors and hooks related to the matching controller here.
// All this logic will automatically be available in application.js.
@@ -1,3 +0,0 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
+6 -9
View File
@@ -1,18 +1,16 @@
# frozen_string_literal: true
# This file is auto-generated from the current state of the database. Instead # This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to # of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition. # incrementally modify your database, and then regenerate this schema definition.
# #
# Note that this schema.rb definition is the authoritative source for your # This file is the source Rails uses to define your schema when running `bin/rails
# database schema. If you need to create the application database on another # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
# system, you should be using db:schema:load, not running all the migrations # be faster and is potentially less error prone than running all of your
# from scratch. The latter is a flawed and unsustainable approach (the more migrations # migrations from scratch. Old migrations may fail to apply correctly if those
# you'll amass, the slower it'll run and the greater likelihood for issues). # migrations use external dependencies or application code.
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20171007010129) do ActiveRecord::Schema[8.0].define(version: 2017_10_07_010129) do
create_table "analytics", force: :cascade do |t| create_table "analytics", force: :cascade do |t|
t.string "ip_address" t.string "ip_address"
t.string "referrer" t.string "referrer"
@@ -113,5 +111,4 @@ ActiveRecord::Schema.define(version: 20171007010129) do
t.datetime "updated_at" t.datetime "updated_at"
t.binary "encrypted_ssn" t.binary "encrypted_ssn"
end end
end end
+2 -2
View File
@@ -9,7 +9,7 @@ SimpleCov.start if ENV["COVERAGE"]
require File.expand_path("../../config/environment", __FILE__) require File.expand_path("../../config/environment", __FILE__)
require "rspec/rails" require "rspec/rails"
require "capybara/rails" require "capybara/rails"
require "capybara/poltergeist" require "selenium-webdriver"
require "database_cleaner" require "database_cleaner"
# Requires supporting ruby files with custom matchers and macros, etc, # Requires supporting ruby files with custom matchers and macros, etc,
@@ -61,6 +61,6 @@ RSpec.configure do |config|
config.infer_spec_type_from_file_location! config.infer_spec_type_from_file_location!
end end
Capybara.javascript_driver = :poltergeist Capybara.javascript_driver = :selenium_headless
DatabaseCleaner.strategy = :truncation DatabaseCleaner.strategy = :truncation