Upgrade to rails 5

surprisingly painless
bootstrap still open
This commit is contained in:
Torsten Ruger 2017-05-23 15:19:36 +03:00
parent be805ee909
commit d9aaf7a2c1
9 changed files with 173 additions and 181 deletions

16
Gemfile
View File

@ -1,17 +1,17 @@
source 'https://rubygems.org'
gem 'rails', '4.2.6'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'rails', '5.0.3'
gem 'sass-rails'
gem 'uglifier'
gem 'coffee-rails'
gem 'jquery-rails'
gem 'jbuilder', '~> 2.0'
gem "therubyracer"
gem 'administrate'
gem 'bootstrap'
gem 'bootstrap' , "4.0.0.alpha5"
gem "susy"
gem 'tether-rails'
gem 'devise'
gem 'devise' ,">= 4.0"
gem 'devise_invitable'
gem 'haml-rails'
gem 'high_voltage'
@ -23,7 +23,6 @@ gem 'rack-attack'
#asynchronous sending
gem 'sucker_punch'
gem 'devise-async'
gem "skylight"
gem 'rollbar'
@ -42,7 +41,6 @@ group :development do
gem 'guard-rspec'
gem 'html2haml'
gem 'hub', :require=>nil
gem 'quiet_assets'
gem 'rails_layout'
gem 'rb-fchange', :require=>false
gem 'rb-fsevent', :require=>false

View File

@ -8,42 +8,45 @@ GIT
GEM
remote: https://rubygems.org/
specs:
actionmailer (4.2.6)
actionpack (= 4.2.6)
actionview (= 4.2.6)
activejob (= 4.2.6)
actioncable (5.0.3)
actionpack (= 5.0.3)
nio4r (>= 1.2, < 3.0)
websocket-driver (~> 0.6.1)
actionmailer (5.0.3)
actionpack (= 5.0.3)
actionview (= 5.0.3)
activejob (= 5.0.3)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.5)
actionpack (4.2.6)
actionview (= 4.2.6)
activesupport (= 4.2.6)
rack (~> 1.6)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-dom-testing (~> 2.0)
actionpack (5.0.3)
actionview (= 5.0.3)
activesupport (= 5.0.3)
rack (~> 2.0)
rack-test (~> 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (4.2.6)
activesupport (= 4.2.6)
actionview (5.0.3)
activesupport (= 5.0.3)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
activejob (4.2.6)
activesupport (= 4.2.6)
globalid (>= 0.3.0)
activemodel (4.2.6)
activesupport (= 4.2.6)
builder (~> 3.1)
activerecord (4.2.6)
activemodel (= 4.2.6)
activesupport (= 4.2.6)
arel (~> 6.0)
activesupport (4.2.6)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (5.0.3)
activesupport (= 5.0.3)
globalid (>= 0.3.6)
activemodel (5.0.3)
activesupport (= 5.0.3)
activerecord (5.0.3)
activemodel (= 5.0.3)
activesupport (= 5.0.3)
arel (~> 7.0)
activesupport (5.0.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.4.0)
addressable (2.5.1)
public_suffix (~> 2.0, >= 2.0.2)
administrate (0.7.0)
actionpack (>= 4.2, < 5.1)
actionview (>= 4.2, < 5.1)
@ -58,11 +61,11 @@ GEM
selectize-rails (~> 0.6)
airbrussh (1.2.0)
sshkit (>= 1.6.1, != 1.7.0)
arel (6.0.4)
arel (7.1.4)
autoprefixer-rails (6.7.7.2)
execjs
bcrypt (3.1.11)
best_in_place (3.1.0)
best_in_place (3.1.1)
actionpack (>= 3.2)
railties (>= 3.2)
better_errors (2.1.1)
@ -75,7 +78,7 @@ GEM
autoprefixer-rails (>= 6.0.3)
sass (>= 3.4.19)
builder (3.2.3)
byebug (8.2.2)
byebug (9.0.6)
capistrano (3.8.1)
airbrussh (>= 1.0.0)
i18n
@ -92,61 +95,58 @@ GEM
capistrano-rails-console (2.2.0)
capistrano (>= 3.5.0, < 4.0.0)
sshkit-interactive (~> 0.2.0)
capybara (2.6.2)
capybara (2.14.0)
addressable
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
capybara-screenshot (1.0.11)
capybara-screenshot (1.0.14)
capybara (>= 1.0, < 3)
launchy
childprocess (0.5.9)
childprocess (0.7.0)
ffi (~> 1.0, >= 1.0.11)
cliver (0.3.2)
coderay (1.1.1)
coffee-rails (4.1.1)
coffee-rails (4.2.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.1.x)
railties (>= 4.0.0, < 5.2.x)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.10.0)
coffee-script-source (1.12.2)
concurrent-ruby (1.0.5)
database_cleaner (1.5.1)
database_cleaner (1.6.1)
datetime_picker_rails (0.0.7)
momentjs-rails (>= 2.8.1)
debug_inspector (0.0.2)
devise (3.5.6)
debug_inspector (0.0.3)
devise (4.3.0)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 3.2.6, < 5)
railties (>= 4.1.0, < 5.2)
responders
thread_safe (~> 0.1)
warden (~> 1.2.3)
devise-async (0.10.1)
devise (~> 3.2)
devise_invitable (1.5.5)
actionmailer (>= 3.2.6, < 5)
devise (>= 3.2.0)
diff-lcs (1.2.5)
devise_invitable (1.7.2)
actionmailer (>= 4.1.0)
devise (>= 4.0.0)
diff-lcs (1.3)
erubis (2.7.0)
execjs (2.7.0)
factory_girl (4.5.0)
factory_girl (4.8.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.6.0)
factory_girl (~> 4.5.0)
factory_girl_rails (4.8.0)
factory_girl (~> 4.8.0)
railties (>= 3.0.0)
faker (1.6.3)
faker (1.7.3)
i18n (~> 0.5)
ffi (1.9.10)
ffi (1.9.18)
formatador (0.2.5)
globalid (0.4.0)
activesupport (>= 4.2.0)
guard (2.13.0)
guard (2.14.1)
formatador (>= 0.2.4)
listen (>= 2.7, <= 4.0)
listen (>= 2.7, < 4.0)
lumberjack (~> 1.0)
nenv (~> 0.1)
notiffany (~> 0.0)
@ -158,37 +158,34 @@ GEM
guard (~> 2.2)
guard-compat (~> 1.1)
guard-compat (1.2.1)
guard-rails (0.7.2)
guard-rails (0.8.0)
guard (~> 2.11)
guard-compat (~> 1.0)
guard-rspec (4.6.4)
guard-rspec (4.7.3)
guard (~> 2.1)
guard-compat (~> 1.1)
rspec (>= 2.99.0, < 4.0)
haml (4.0.7)
haml (5.0.1)
temple (>= 0.8.0)
tilt
haml-rails (0.9.0)
haml-rails (1.0.0)
actionpack (>= 4.0.1)
activesupport (>= 4.0.1)
haml (>= 4.0.6, < 5.0)
haml (>= 4.0.6, < 6.0)
html2haml (>= 1.0.1)
railties (>= 4.0.1)
high_voltage (2.4.0)
html2haml (2.0.0)
high_voltage (3.0.0)
html2haml (2.2.0)
erubis (~> 2.7.0)
haml (~> 4.0.0)
nokogiri (~> 1.6.0)
haml (>= 4.0, < 6)
nokogiri (>= 1.6.0)
ruby_parser (~> 3.5)
hub (1.12.4)
i18n (0.8.1)
jbuilder (2.4.1)
activesupport (>= 3.0.0, < 5.1)
multi_json (~> 1.2)
jquery-rails (4.3.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
json (1.8.6)
kaminari (1.0.1)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.0.1)
@ -203,13 +200,14 @@ GEM
kaminari-core (1.0.1)
launchy (2.4.3)
addressable (~> 2.3)
libv8 (3.16.14.15)
listen (3.0.6)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9.7)
libv8 (3.16.14.19)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
loofah (2.0.3)
nokogiri (>= 1.5.9)
lumberjack (1.0.10)
lumberjack (1.0.12)
mail (2.6.5)
mime-types (>= 1.16, < 4)
method_source (0.8.2)
@ -221,98 +219,98 @@ GEM
momentjs-rails (2.17.1)
railties (>= 3.1)
multi_json (1.12.1)
mysql2 (0.4.2)
mysql2 (0.4.6)
nenv (0.3.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (4.1.0)
newrelic_rpm (3.15.2.317)
nokogiri (1.6.8.1)
newrelic_rpm (4.1.0.333)
nio4r (2.0.0)
nokogiri (1.7.2)
mini_portile2 (~> 2.1.0)
normalize-rails (4.1.1)
notiffany (0.0.8)
notiffany (0.1.1)
nenv (~> 0.1)
shellany (~> 0.0)
orm_adapter (0.5.0)
poltergeist (1.8.1)
poltergeist (1.15.0)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
pry (0.10.3)
pry (0.10.4)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
puma (3.2.0)
public_suffix (2.0.5)
puma (3.8.2)
pundit (1.1.0)
activesupport (>= 3.0.0)
quiet_assets (1.1.0)
railties (>= 3.1, < 5.0)
rack (1.6.8)
rack-attack (4.4.1)
rack (2.0.3)
rack-attack (5.0.1)
rack
rack-test (0.6.3)
rack (>= 1.0)
rails (4.2.6)
actionmailer (= 4.2.6)
actionpack (= 4.2.6)
actionview (= 4.2.6)
activejob (= 4.2.6)
activemodel (= 4.2.6)
activerecord (= 4.2.6)
activesupport (= 4.2.6)
rails (5.0.3)
actioncable (= 5.0.3)
actionmailer (= 5.0.3)
actionpack (= 5.0.3)
actionview (= 5.0.3)
activejob (= 5.0.3)
activemodel (= 5.0.3)
activerecord (= 5.0.3)
activesupport (= 5.0.3)
bundler (>= 1.3.0, < 2.0)
railties (= 4.2.6)
sprockets-rails
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.8)
activesupport (>= 4.2.0.beta, < 5.0)
nokogiri (~> 1.6)
rails-deprecated_sanitizer (>= 1.0.1)
railties (= 5.0.3)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
rails_layout (1.0.29)
railties (4.2.6)
actionpack (= 4.2.6)
activesupport (= 4.2.6)
rails_layout (1.0.41)
railties (5.0.3)
actionpack (= 5.0.3)
activesupport (= 5.0.3)
method_source
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (12.0.0)
rb-fchange (0.0.6)
ffi
rb-fsevent (0.9.7)
rb-inotify (0.9.7)
rb-fsevent (0.9.8)
rb-inotify (0.9.8)
ffi (>= 0.5.0)
ref (2.0.0)
responders (2.1.2)
railties (>= 4.2.0, < 5.1)
rollbar (2.13.3)
responders (2.4.0)
actionpack (>= 4.2.0, < 5.3)
railties (>= 4.2.0, < 5.3)
rollbar (2.14.1)
multi_json
rspec (3.4.0)
rspec-core (~> 3.4.0)
rspec-expectations (~> 3.4.0)
rspec-mocks (~> 3.4.0)
rspec-core (3.4.4)
rspec-support (~> 3.4.0)
rspec-expectations (3.4.0)
rspec (3.6.0)
rspec-core (~> 3.6.0)
rspec-expectations (~> 3.6.0)
rspec-mocks (~> 3.6.0)
rspec-core (3.6.0)
rspec-support (~> 3.6.0)
rspec-expectations (3.6.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.4.0)
rspec-mocks (3.4.1)
rspec-support (~> 3.6.0)
rspec-mocks (3.6.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.4.0)
rspec-rails (3.4.2)
actionpack (>= 3.0, < 4.3)
activesupport (>= 3.0, < 4.3)
railties (>= 3.0, < 4.3)
rspec-core (~> 3.4.0)
rspec-expectations (~> 3.4.0)
rspec-mocks (~> 3.4.0)
rspec-support (~> 3.4.0)
rspec-support (3.4.1)
ruby_parser (3.8.1)
rspec-support (~> 3.6.0)
rspec-rails (3.6.0)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 3.6.0)
rspec-expectations (~> 3.6.0)
rspec-mocks (~> 3.6.0)
rspec-support (~> 3.6.0)
rspec-support (3.6.0)
ruby_dep (1.5.0)
ruby_parser (3.9.0)
sexp_processor (~> 4.1)
rubyzip (1.2.0)
rubyzip (1.2.1)
sass (3.4.24)
sass-rails (5.0.6)
railties (>= 4.0.0, < 6)
@ -321,19 +319,20 @@ GEM
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
selectize-rails (0.12.4)
selenium-webdriver (2.53.0)
selenium-webdriver (3.4.0)
childprocess (~> 0.5)
rubyzip (~> 1.0)
websocket (~> 1.0)
sexp_processor (4.7.0)
sexp_processor (4.9.0)
shellany (0.0.1)
simple_form (3.3.1)
actionpack (> 4, < 5.1)
activemodel (> 4, < 5.1)
skylight (1.0.1)
simple_form (3.5.0)
actionpack (> 4, < 5.2)
activemodel (> 4, < 5.2)
skylight (1.3.0)
activesupport (>= 3.0.0)
slop (3.6.0)
spring (1.6.4)
spring (2.0.2)
activesupport (>= 4.2)
spring-commands-rspec (1.0.4)
spring (>= 0.9.1)
sprockets (3.7.1)
@ -343,7 +342,7 @@ GEM
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
sqlite3 (1.3.11)
sqlite3 (1.3.13)
sshkit (1.13.1)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
@ -353,28 +352,28 @@ GEM
concurrent-ruby (~> 1.0.0)
susy (2.2.12)
sass (>= 3.3.0, < 3.5)
tether-rails (1.3.3)
temple (0.8.0)
tether-rails (1.4.0)
rails (>= 3.1)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
therubyracer (0.12.3)
libv8 (~> 3.16.14.15)
ref
thor (0.19.4)
thread_safe (0.3.6)
tilt (2.0.7)
tzinfo (1.2.3)
thread_safe (~> 0.1)
uglifier (2.7.2)
execjs (>= 0.3.0)
json (>= 1.8.0)
warden (1.2.6)
uglifier (3.2.0)
execjs (>= 0.3.0, < 3)
warden (1.2.7)
rack (>= 1.0)
web-console (2.3.0)
activemodel (>= 4.0)
binding_of_caller (>= 0.7.2)
railties (>= 4.0)
sprockets-rails (>= 2.0, < 4.0)
websocket (1.2.2)
websocket-driver (0.6.3)
websocket (1.2.4)
websocket-driver (0.6.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
xpath (2.0.0)
@ -388,7 +387,7 @@ DEPENDENCIES
animate-scss!
best_in_place
better_errors
bootstrap
bootstrap (= 4.0.0.alpha5)
byebug
capistrano (= 3.8.1)
capistrano-bundler
@ -397,10 +396,9 @@ DEPENDENCIES
capistrano-rails-console
capybara
capybara-screenshot
coffee-rails (~> 4.1.0)
coffee-rails
database_cleaner
devise
devise-async
devise (>= 4.0)
devise_invitable
factory_girl_rails
faker
@ -411,7 +409,6 @@ DEPENDENCIES
high_voltage
html2haml
hub
jbuilder (~> 2.0)
jquery-rails
launchy
mysql2
@ -419,16 +416,15 @@ DEPENDENCIES
poltergeist
puma
pundit
quiet_assets
rack-attack
rails (= 4.2.6)
rails (= 5.0.3)
rails_layout
rb-fchange
rb-fsevent
rb-inotify
rollbar
rspec-rails
sass-rails (~> 5.0)
sass-rails
selenium-webdriver
simple_form
skylight
@ -439,7 +435,7 @@ DEPENDENCIES
susy
tether-rails
therubyracer
uglifier (>= 1.3.0)
uglifier
web-console (~> 2.0)
BUNDLED WITH

View File

@ -20,6 +20,8 @@ module WebDevSite
g.fixture_replacement :factory_girl, dir: "spec/factories"
end
config.assets.quiet = true
config.middleware.use Rack::Attack
config.assets.paths << Gem.loaded_specs['susy'].full_gem_path+'/sass'

View File

@ -12,9 +12,7 @@ Rails.application.configure do
# preloads Rails for running tests, you may have to set it to true.
config.eager_load = false
# Configure static file server for tests with Cache-Control for performance.
config.serve_static_files = true
config.static_cache_control = 'public, max-age=3600'
config.public_file_server.enabled = true
# Show full error reports and disable caching.
config.consider_all_requests_local = true

View File

@ -1,5 +1,5 @@
# Block requests for php or cgi, jps and what else the people throw at us
Rack::Attack.blacklist('block admin probes') do |req|
Rack::Attack.blocklist('block admin probes') do |req|
# Request are blocked if the return value is truthy
reject = false
["php" , "jsp" , "cgi", "asp", "cfm," "proxy.txt", "soapCaller", "Win32" , "HNAP1" , "w00tw00t",
@ -14,7 +14,7 @@ Rack::Attack.blacklist('block admin probes') do |req|
end
# Block requests from people clearly out to break servers
Rack::Attack.blacklist('block admin ips') do |req|
Rack::Attack.blocklist('block admin ips') do |req|
[ "79.143.82.69" , "85.76.99.50" ].include? req.ip
end
@ -31,7 +31,7 @@ end
# Always allow requests from shop
# (blacklist & throttles are skipped)
Rack::Attack.whitelist('allow from known or dev') do |req|
Rack::Attack.safelist('allow from known or dev') do |req|
# Requests are allowed if the return value is truthy
if Rails.env.production?
[ "85.76.112.161" , "85.76.99.50"].include? req.ip

View File

@ -8,8 +8,8 @@ module DevisePermittedParameters
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :name
devise_parameter_sanitizer.for(:account_update) << :name
devise_parameter_sanitizer.permit(:sign_up , keys: [:name])
devise_parameter_sanitizer.permit(:account_update , keys: [:name])
end
end

View File

@ -3,5 +3,3 @@ require 'sucker_punch/async_syntax'
Rails.application.configure do
config.active_job.queue_adapter = :sucker_punch
end
Devise::Async.backend = :sucker_punch

View File

@ -175,7 +175,7 @@ en:
a: >
The official part of the course is 7 hours a day.
<br/>
This means that for those nine hours you will either have lectures, be involved in group work
This means that for those seven hours you will either have lectures, be involved in group work
or work on your assignments. During these hours you can always ask and someone will be
present to answer your question.
<br/>

View File

@ -17,7 +17,7 @@ feature 'Sign in', :devise do
# Then I see an invalid credentials message
scenario 'user cannot sign in if not registered' do
signin('test@example.com', 'please123' , ".authform")
expect(page).to have_content I18n.t 'devise.failure.not_found_in_database', authentication_keys: 'email'
expect(page).to have_content I18n.t 'devise.failure.not_found_in_database', authentication_keys: 'Email'
end
# Scenario: User can sign in with valid credentials
@ -39,7 +39,7 @@ feature 'Sign in', :devise do
scenario 'user cannot sign in with wrong email' do
user = FactoryGirl.create(:user)
signin('invalid@email.com', user.password , ".authform")
expect(page).to have_content I18n.t 'devise.failure.not_found_in_database', authentication_keys: 'email'
expect(page).to have_content I18n.t 'devise.failure.not_found_in_database', authentication_keys: 'Email'
end
# Scenario: User cannot sign in with wrong password
@ -50,7 +50,7 @@ feature 'Sign in', :devise do
scenario 'user cannot sign in with wrong password' do
user = FactoryGirl.create(:user)
signin(user.email, 'invalidpass' , ".authform")
expect(page).to have_content I18n.t 'devise.failure.invalid', authentication_keys: 'email'
expect(page).to have_content I18n.t 'devise.failure.invalid', authentication_keys: 'Email'
end
end