-
Notifications
You must be signed in to change notification settings - Fork 0
/
4.2 to 5.0.diff
1293 lines (1219 loc) · 47.1 KB
/
4.2 to 5.0.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/.gitignore rails 5.0/.gitignore
--- rails 4.2/.gitignore 2023-08-21 10:48:04
+++ rails 5.0/.gitignore 2023-08-21 12:38:11
@@ -13,5 +13,9 @@
# Ignore all logfiles and tempfiles.
/log/*
+/tmp/*
!/log/.keep
-/tmp
+!/tmp/.keep
+
+# Ignore Byebug command history file.
+.byebug_history
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/Gemfile rails 5.0/Gemfile
--- rails 4.2/Gemfile 2023-08-21 10:48:04
+++ rails 5.0/Gemfile 2023-08-21 12:38:11
@@ -1,47 +1,53 @@
source 'https://rubygems.org'
+git_source(:github) do |repo_name|
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
+ "https://github.com/#{repo_name}.git"
+end
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
-gem 'rails', '4.2.11.3'
+gem 'rails', '~> 5.0.7', '>= 5.0.7.2'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
+# Use Puma as the app server
+gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
-gem 'coffee-rails', '~> 4.1.0'
+gem 'coffee-rails', '~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
-# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
-gem 'turbolinks'
+# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
+gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
-gem 'jbuilder', '~> 2.0'
-# bundle exec rake doc:rails generates the API under doc/api.
-gem 'sdoc', '~> 0.4.0', group: :doc
-
+gem 'jbuilder', '~> 2.5'
+# Use Redis adapter to run Action Cable in production
+# gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
-# Use Unicorn as the app server
-# gem 'unicorn'
-
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
- gem 'byebug'
+ gem 'byebug', platform: :mri
end
group :development do
- # Access an IRB console on exception pages or by using <%= console %> in views
- gem 'web-console', '~> 2.0'
-
+ # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
+ gem 'web-console', '>= 3.3.0'
+ gem 'listen', '~> 3.0.5'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
+ gem 'spring-watcher-listen', '~> 2.0.0'
end
+# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
+gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/Gemfile.lock rails 5.0/Gemfile.lock
--- rails 4.2/Gemfile.lock 2023-08-21 10:48:04
+++ rails 5.0/Gemfile.lock 2023-08-21 12:38:13
@@ -1,113 +1,131 @@
GEM
remote: https://rubygems.org/
specs:
- actionmailer (4.2.11.3)
- actionpack (= 4.2.11.3)
- actionview (= 4.2.11.3)
- activejob (= 4.2.11.3)
+ actioncable (5.0.7.2)
+ actionpack (= 5.0.7.2)
+ nio4r (>= 1.2, < 3.0)
+ websocket-driver (~> 0.6.1)
+ actionmailer (5.0.7.2)
+ actionpack (= 5.0.7.2)
+ actionview (= 5.0.7.2)
+ activejob (= 5.0.7.2)
mail (~> 2.5, >= 2.5.4)
- rails-dom-testing (~> 1.0, >= 1.0.5)
- actionpack (4.2.11.3)
- actionview (= 4.2.11.3)
- activesupport (= 4.2.11.3)
- rack (~> 1.6)
- rack-test (~> 0.6.2)
- rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-dom-testing (~> 2.0)
+ actionpack (5.0.7.2)
+ actionview (= 5.0.7.2)
+ activesupport (= 5.0.7.2)
+ rack (~> 2.0)
+ rack-test (~> 0.6.3)
+ rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (4.2.11.3)
- activesupport (= 4.2.11.3)
+ actionview (5.0.7.2)
+ activesupport (= 5.0.7.2)
builder (~> 3.1)
erubis (~> 2.7.0)
- rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
- activejob (4.2.11.3)
- activesupport (= 4.2.11.3)
- globalid (>= 0.3.0)
- activemodel (4.2.11.3)
- activesupport (= 4.2.11.3)
- builder (~> 3.1)
- activerecord (4.2.11.3)
- activemodel (= 4.2.11.3)
- activesupport (= 4.2.11.3)
- arel (~> 6.0)
- activesupport (4.2.11.3)
- i18n (~> 0.7)
+ activejob (5.0.7.2)
+ activesupport (= 5.0.7.2)
+ globalid (>= 0.3.6)
+ activemodel (5.0.7.2)
+ activesupport (= 5.0.7.2)
+ activerecord (5.0.7.2)
+ activemodel (= 5.0.7.2)
+ activesupport (= 5.0.7.2)
+ arel (~> 7.0)
+ activesupport (5.0.7.2)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ i18n (>= 0.7, < 2)
minitest (~> 5.1)
- thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
- arel (6.0.4)
- binding_of_caller (1.0.0)
- debug_inspector (>= 0.0.1)
+ arel (7.1.4)
+ bindex (0.8.1)
builder (3.2.4)
byebug (11.1.3)
- coffee-rails (4.1.1)
+ coffee-rails (4.2.2)
coffee-script (>= 2.2.0)
- railties (>= 4.0.0, < 5.1.x)
+ railties (>= 4.0.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
- concurrent-ruby (1.1.10)
+ concurrent-ruby (1.2.2)
crass (1.0.6)
- debug_inspector (1.1.0)
+ date (3.3.3)
erubis (2.7.0)
execjs (2.8.1)
ffi (1.15.5)
- globalid (0.4.2)
- activesupport (>= 4.2.0)
- i18n (0.9.5)
+ globalid (1.1.0)
+ activesupport (>= 5.0)
+ i18n (1.14.1)
concurrent-ruby (~> 1.0)
- jbuilder (2.9.1)
- activesupport (>= 4.2.0)
- jquery-rails (4.5.0)
+ jbuilder (2.11.5)
+ actionview (>= 5.0.0)
+ activesupport (>= 5.0.0)
+ jquery-rails (4.6.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
- json (1.8.6)
- loofah (2.19.0)
+ listen (3.0.8)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+ loofah (2.21.3)
crass (~> 1.0.2)
- nokogiri (>= 1.5.9)
- mail (2.7.1)
+ nokogiri (>= 1.12.0)
+ mail (2.8.1)
mini_mime (>= 0.1.1)
- mini_mime (1.1.2)
- mini_portile2 (2.8.0)
- minitest (5.16.3)
- nokogiri (1.13.8)
- mini_portile2 (~> 2.8.0)
+ net-imap
+ net-pop
+ net-smtp
+ method_source (1.0.0)
+ mini_mime (1.1.5)
+ minitest (5.19.0)
+ net-imap (0.3.7)
+ date
+ net-protocol
+ net-pop (0.1.2)
+ net-protocol
+ net-protocol (0.2.1)
+ timeout
+ net-smtp (0.3.3)
+ net-protocol
+ nio4r (2.5.9)
+ nokogiri (1.15.4-arm64-darwin)
racc (~> 1.4)
- racc (1.6.0)
- rack (1.6.13)
+ puma (3.12.6)
+ racc (1.7.1)
+ rack (2.2.8)
rack-test (0.6.3)
rack (>= 1.0)
- rails (4.2.11.3)
- actionmailer (= 4.2.11.3)
- actionpack (= 4.2.11.3)
- actionview (= 4.2.11.3)
- activejob (= 4.2.11.3)
- activemodel (= 4.2.11.3)
- activerecord (= 4.2.11.3)
- activesupport (= 4.2.11.3)
- bundler (>= 1.3.0, < 2.0)
- railties (= 4.2.11.3)
- sprockets-rails
- rails-deprecated_sanitizer (1.0.4)
- activesupport (>= 4.2.0.alpha)
- rails-dom-testing (1.0.9)
- activesupport (>= 4.2.0, < 5.0)
- nokogiri (~> 1.6)
- rails-deprecated_sanitizer (>= 1.0.1)
- rails-html-sanitizer (1.4.3)
- loofah (~> 2.3)
- railties (4.2.11.3)
- actionpack (= 4.2.11.3)
- activesupport (= 4.2.11.3)
+ rails (5.0.7.2)
+ actioncable (= 5.0.7.2)
+ actionmailer (= 5.0.7.2)
+ actionpack (= 5.0.7.2)
+ actionview (= 5.0.7.2)
+ activejob (= 5.0.7.2)
+ activemodel (= 5.0.7.2)
+ activerecord (= 5.0.7.2)
+ activesupport (= 5.0.7.2)
+ bundler (>= 1.3.0)
+ railties (= 5.0.7.2)
+ sprockets-rails (>= 2.0.0)
+ rails-dom-testing (2.2.0)
+ activesupport (>= 5.0.0)
+ minitest
+ nokogiri (>= 1.6)
+ rails-html-sanitizer (1.6.0)
+ loofah (~> 2.21)
+ nokogiri (~> 1.14)
+ railties (5.0.7.2)
+ actionpack (= 5.0.7.2)
+ activesupport (= 5.0.7.2)
+ method_source
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (13.0.6)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
- rdoc (4.3.0)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
@@ -119,10 +137,10 @@
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
- sdoc (0.4.2)
- json (~> 1.7, >= 1.7.7)
- rdoc (~> 4.0)
- spring (3.1.1)
+ spring (2.1.1)
+ spring-watcher-listen (2.0.1)
+ listen (>= 2.7, < 4.0)
+ spring (>= 1.2, < 3.0)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
@@ -130,40 +148,46 @@
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
- sqlite3 (1.5.3)
- mini_portile2 (~> 2.8.0)
- thor (1.2.1)
+ sqlite3 (1.6.3-arm64-darwin)
+ thor (1.2.2)
thread_safe (0.3.6)
- tilt (2.0.11)
+ tilt (2.2.0)
+ timeout (0.4.0)
turbolinks (5.2.1)
turbolinks-source (~> 5.2)
turbolinks-source (5.2.0)
- tzinfo (1.2.10)
+ tzinfo (1.2.11)
thread_safe (~> 0.1)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
- web-console (2.3.0)
- activemodel (>= 4.0)
- binding_of_caller (>= 0.7.2)
- railties (>= 4.0)
- sprockets-rails (>= 2.0, < 4.0)
+ web-console (3.7.0)
+ actionview (>= 5.0)
+ activemodel (>= 5.0)
+ bindex (>= 0.4.0)
+ railties (>= 5.0)
+ websocket-driver (0.6.5)
+ websocket-extensions (>= 0.1.0)
+ websocket-extensions (0.1.5)
PLATFORMS
- ruby
+ arm64-darwin-22
DEPENDENCIES
byebug
- coffee-rails (~> 4.1.0)
- jbuilder (~> 2.0)
+ coffee-rails (~> 4.2)
+ jbuilder (~> 2.5)
jquery-rails
- rails (= 4.2.11.3)
+ listen (~> 3.0.5)
+ puma (~> 3.0)
+ rails (~> 5.0.7, >= 5.0.7.2)
sass-rails (~> 5.0)
- sdoc (~> 0.4.0)
spring
+ spring-watcher-listen (~> 2.0.0)
sqlite3
- turbolinks
+ turbolinks (~> 5)
+ tzinfo-data
uglifier (>= 1.3.0)
- web-console (~> 2.0)
+ web-console (>= 3.3.0)
BUNDLED WITH
- 1.17.2
+ 2.4.12
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/README.md rails 5.0/README.md
--- rails 4.2/README.md 1969-12-31 16:00:00
+++ rails 5.0/README.md 2023-08-21 12:38:11
@@ -0,0 +1,24 @@
+# README
+
+This README would normally document whatever steps are necessary to get the
+application up and running.
+
+Things you may want to cover:
+
+* Ruby version
+
+* System dependencies
+
+* Configuration
+
+* Database creation
+
+* Database initialization
+
+* How to run the test suite
+
+* Services (job queues, cache servers, search engines, etc.)
+
+* Deployment instructions
+
+* ...
Only in rails 4.2: README.rdoc
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/Rakefile rails 5.0/Rakefile
--- rails 4.2/Rakefile 2023-08-21 10:48:04
+++ rails 5.0/Rakefile 2023-08-21 12:38:11
@@ -1,6 +1,6 @@
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
-require File.expand_path('../config/application', __FILE__)
+require_relative 'config/application'
Rails.application.load_tasks
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/assets/config/manifest.js rails 5.0/app/assets/config/manifest.js
--- rails 4.2/app/assets/config/manifest.js 1969-12-31 16:00:00
+++ rails 5.0/app/assets/config/manifest.js 2023-08-21 12:38:11
@@ -0,0 +1,3 @@
+//= link_tree ../images
+//= link_directory ../javascripts .js
+//= link_directory ../stylesheets .css
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/assets/javascripts/application.js rails 5.0/app/assets/javascripts/application.js
--- rails 4.2/app/assets/javascripts/application.js 2023-08-21 10:48:04
+++ rails 5.0/app/assets/javascripts/application.js 2023-08-21 12:38:11
@@ -5,7 +5,7 @@
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
-// compiled file.
+// compiled file. JavaScript code in this file should be added after the last require_* statement.
//
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
// about supported directives.
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/assets/javascripts/cable.js rails 5.0/app/assets/javascripts/cable.js
--- rails 4.2/app/assets/javascripts/cable.js 1969-12-31 16:00:00
+++ rails 5.0/app/assets/javascripts/cable.js 2023-08-21 12:38:11
@@ -0,0 +1,13 @@
+// Action Cable provides the framework to deal with WebSockets in Rails.
+// You can generate new channels where WebSocket features live using the rails generate channel command.
+//
+//= require action_cable
+//= require_self
+//= require_tree ./channels
+
+(function() {
+ this.App || (this.App = {});
+
+ App.cable = ActionCable.createConsumer();
+
+}).call(this);
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/assets/stylesheets/application.css rails 5.0/app/assets/stylesheets/application.css
--- rails 4.2/app/assets/stylesheets/application.css 2023-08-21 10:48:04
+++ rails 5.0/app/assets/stylesheets/application.css 2023-08-21 12:38:11
@@ -6,9 +6,9 @@
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
- * compiled file so the styles you add here take precedence over styles defined in any styles
- * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
- * file per style scope.
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
+ * files in this directory. Styles in this file should be added after the last require_* statement.
+ * It is generally better to create a new file per style scope.
*
*= require_tree .
*= require_self
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/channels/application_cable/channel.rb rails 5.0/app/channels/application_cable/channel.rb
--- rails 4.2/app/channels/application_cable/channel.rb 1969-12-31 16:00:00
+++ rails 5.0/app/channels/application_cable/channel.rb 2023-08-21 12:38:11
@@ -0,0 +1,4 @@
+module ApplicationCable
+ class Channel < ActionCable::Channel::Base
+ end
+end
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/channels/application_cable/connection.rb rails 5.0/app/channels/application_cable/connection.rb
--- rails 4.2/app/channels/application_cable/connection.rb 1969-12-31 16:00:00
+++ rails 5.0/app/channels/application_cable/connection.rb 2023-08-21 12:38:11
@@ -0,0 +1,4 @@
+module ApplicationCable
+ class Connection < ActionCable::Connection::Base
+ end
+end
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/controllers/application_controller.rb rails 5.0/app/controllers/application_controller.rb
--- rails 4.2/app/controllers/application_controller.rb 2023-08-21 10:48:04
+++ rails 5.0/app/controllers/application_controller.rb 2023-08-21 12:38:11
@@ -1,5 +1,3 @@
class ApplicationController < ActionController::Base
- # Prevent CSRF attacks by raising an exception.
- # For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
end
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/jobs/application_job.rb rails 5.0/app/jobs/application_job.rb
--- rails 4.2/app/jobs/application_job.rb 1969-12-31 16:00:00
+++ rails 5.0/app/jobs/application_job.rb 2023-08-21 12:38:11
@@ -0,0 +1,2 @@
+class ApplicationJob < ActiveJob::Base
+end
Only in rails 4.2/app/mailers: .keep
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/mailers/application_mailer.rb rails 5.0/app/mailers/application_mailer.rb
--- rails 4.2/app/mailers/application_mailer.rb 1969-12-31 16:00:00
+++ rails 5.0/app/mailers/application_mailer.rb 2023-08-21 12:38:11
@@ -0,0 +1,4 @@
+class ApplicationMailer < ActionMailer::Base
+ default from: '[email protected]'
+ layout 'mailer'
+end
Only in rails 4.2/app/models: .keep
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/models/application_record.rb rails 5.0/app/models/application_record.rb
--- rails 4.2/app/models/application_record.rb 1969-12-31 16:00:00
+++ rails 5.0/app/models/application_record.rb 2023-08-21 12:38:11
@@ -0,0 +1,3 @@
+class ApplicationRecord < ActiveRecord::Base
+ self.abstract_class = true
+end
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/views/layouts/application.html.erb rails 5.0/app/views/layouts/application.html.erb
--- rails 4.2/app/views/layouts/application.html.erb 2023-08-21 10:48:04
+++ rails 5.0/app/views/layouts/application.html.erb 2023-08-21 12:38:11
@@ -1,14 +1,14 @@
<!DOCTYPE html>
<html>
-<head>
- <title>R42</title>
- <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
- <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
+ <head>
+ <title>Rails50</title>
<%= csrf_meta_tags %>
-</head>
-<body>
+
+ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
+ <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
+ </head>
-<%= yield %>
-
-</body>
+ <body>
+ <%= yield %>
+ </body>
</html>
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/views/layouts/mailer.html.erb rails 5.0/app/views/layouts/mailer.html.erb
--- rails 4.2/app/views/layouts/mailer.html.erb 1969-12-31 16:00:00
+++ rails 5.0/app/views/layouts/mailer.html.erb 2023-08-21 12:38:11
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <style>
+ /* Email styles need to be inline */
+ </style>
+ </head>
+
+ <body>
+ <%= yield %>
+ </body>
+</html>
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/app/views/layouts/mailer.text.erb rails 5.0/app/views/layouts/mailer.text.erb
--- rails 4.2/app/views/layouts/mailer.text.erb 1969-12-31 16:00:00
+++ rails 5.0/app/views/layouts/mailer.text.erb 2023-08-21 12:38:11
@@ -0,0 +1 @@
+<%= yield %>
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/bin/rails rails 5.0/bin/rails
--- rails 4.2/bin/rails 2023-08-21 10:48:04
+++ rails 5.0/bin/rails 2023-08-21 12:38:13
@@ -4,6 +4,6 @@
rescue LoadError => e
raise unless e.message.include?('spring')
end
-APP_PATH = File.expand_path('../../config/application', __FILE__)
+APP_PATH = File.expand_path('../config/application', __dir__)
require_relative '../config/boot'
require 'rails/commands'
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/bin/setup rails 5.0/bin/setup
--- rails 4.2/bin/setup 2023-08-21 10:48:04
+++ rails 5.0/bin/setup 2023-08-21 12:38:11
@@ -1,29 +1,34 @@
#!/usr/bin/env ruby
require 'pathname'
+require 'fileutils'
+include FileUtils
# path to your application root.
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
-Dir.chdir APP_ROOT do
+def system!(*args)
+ system(*args) || abort("\n== Command #{args} failed ==")
+end
+
+chdir APP_ROOT do
# This script is a starting point to setup your application.
- # Add necessary setup steps to this file:
+ # Add necessary setup steps to this file.
- puts "== Installing dependencies =="
- system "gem install bundler --conservative"
- system "bundle check || bundle install"
+ puts '== Installing dependencies =='
+ system! 'gem install bundler --conservative'
+ system('bundle check') || system!('bundle install')
# puts "\n== Copying sample files =="
- # unless File.exist?("config/database.yml")
- # system "cp config/database.yml.sample config/database.yml"
+ # unless File.exist?('config/database.yml')
+ # cp 'config/database.yml.sample', 'config/database.yml'
# end
puts "\n== Preparing database =="
- system "bin/rake db:setup"
+ system! 'bin/rails db:setup'
puts "\n== Removing old logs and tempfiles =="
- system "rm -f log/*"
- system "rm -rf tmp/cache"
+ system! 'bin/rails log:clear tmp:clear'
puts "\n== Restarting application server =="
- system "touch tmp/restart.txt"
+ system! 'bin/rails restart'
end
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/bin/update rails 5.0/bin/update
--- rails 4.2/bin/update 1969-12-31 16:00:00
+++ rails 5.0/bin/update 2023-08-21 12:38:11
@@ -0,0 +1,29 @@
+#!/usr/bin/env ruby
+require 'pathname'
+require 'fileutils'
+include FileUtils
+
+# path to your application root.
+APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
+
+def system!(*args)
+ system(*args) || abort("\n== Command #{args} failed ==")
+end
+
+chdir APP_ROOT do
+ # This script is a way to update your development environment automatically.
+ # Add necessary update steps to this file.
+
+ puts '== Installing dependencies =='
+ system! 'gem install bundler --conservative'
+ system('bundle check') || system!('bundle install')
+
+ puts "\n== Updating database =="
+ system! 'bin/rails db:migrate'
+
+ puts "\n== Removing old logs and tempfiles =="
+ system! 'bin/rails log:clear tmp:clear'
+
+ puts "\n== Restarting application server =="
+ system! 'bin/rails restart'
+end
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/application.rb rails 5.0/config/application.rb
--- rails 4.2/config/application.rb 2023-08-21 10:48:04
+++ rails 5.0/config/application.rb 2023-08-21 12:38:11
@@ -1,4 +1,4 @@
-require File.expand_path('../boot', __FILE__)
+require_relative 'boot'
require 'rails/all'
@@ -6,21 +6,10 @@
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)
-module R42
+module Rails50
class Application < Rails::Application
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
-
- # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
- # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
- # config.time_zone = 'Central Time (US & Canada)'
-
- # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
- # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
- # config.i18n.default_locale = :de
-
- # Do not swallow errors in after_commit/after_rollback callbacks.
- config.active_record.raise_in_transactional_callbacks = true
end
end
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/boot.rb rails 5.0/config/boot.rb
--- rails 4.2/config/boot.rb 2023-08-21 10:48:04
+++ rails 5.0/config/boot.rb 2023-08-21 12:38:11
@@ -1,3 +1,3 @@
-ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
+ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
require 'bundler/setup' # Set up gems listed in the Gemfile.
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/cable.yml rails 5.0/config/cable.yml
--- rails 4.2/config/cable.yml 1969-12-31 16:00:00
+++ rails 5.0/config/cable.yml 2023-08-21 12:38:11
@@ -0,0 +1,9 @@
+development:
+ adapter: async
+
+test:
+ adapter: async
+
+production:
+ adapter: redis
+ url: redis://localhost:6379/1
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/environment.rb rails 5.0/config/environment.rb
--- rails 4.2/config/environment.rb 2023-08-21 10:48:04
+++ rails 5.0/config/environment.rb 2023-08-21 12:38:11
@@ -1,5 +1,5 @@
# Load the Rails application.
-require File.expand_path('../application', __FILE__)
+require_relative 'application'
# Initialize the Rails application.
Rails.application.initialize!
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/environments/development.rb rails 5.0/config/environments/development.rb
--- rails 4.2/config/environments/development.rb 2023-08-21 10:48:04
+++ rails 5.0/config/environments/development.rb 2023-08-21 12:38:11
@@ -9,13 +9,28 @@
# Do not eager load code on boot.
config.eager_load = false
- # Show full error reports and disable caching.
+ # Show full error reports.
config.consider_all_requests_local = true
+
+ # Enable/disable caching. By default caching is disabled.
+ if Rails.root.join('tmp/caching-dev.txt').exist?
+ config.action_controller.perform_caching = true
+
+ config.cache_store = :memory_store
+ config.public_file_server.headers = {
+ 'Cache-Control' => 'public, max-age=172800'
+ }
+ else
config.action_controller.perform_caching = false
+ config.cache_store = :null_store
+ end
+
# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false
+ config.action_mailer.perform_caching = false
+
# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log
@@ -27,15 +42,13 @@
# number of complex assets.
config.assets.debug = true
- # Asset digests allow you to set far-future HTTP expiration dates on all assets,
- # yet still be able to expire them through the digest params.
- config.assets.digest = true
+ # Suppress logger output for asset requests.
+ config.assets.quiet = true
- # Adds additional error checking when serving assets at runtime.
- # Checks for improperly declared sprockets dependencies.
- # Raises helpful error messages.
- config.assets.raise_runtime_errors = true
-
# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true
+
+ # Use an evented file watcher to asynchronously detect changes in source code,
+ # routes, locales, etc. This feature depends on the listen gem.
+ config.file_watcher = ActiveSupport::EventedFileUpdateChecker
end
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/environments/production.rb rails 5.0/config/environments/production.rb
--- rails 4.2/config/environments/production.rb 2023-08-21 10:48:04
+++ rails 5.0/config/environments/production.rb 2023-08-21 12:38:11
@@ -14,15 +14,9 @@
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
- # Enable Rack::Cache to put a simple HTTP cache in front of your application
- # Add `rack-cache` to your Gemfile before enabling this.
- # For large-scale production use, consider using a caching reverse proxy like
- # NGINX, varnish or squid.
- # config.action_dispatch.rack_cache = true
-
# Disable serving static files from the `/public` folder by default since
# Apache or NGINX already handles this.
- config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
+ config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
@@ -31,16 +25,20 @@
# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = false
- # Asset digests allow you to set far-future HTTP expiration dates on all assets,
- # yet still be able to expire them through the digest params.
- config.assets.digest = true
-
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
+ # config.action_controller.asset_host = 'http://assets.example.com'
+
# Specifies the header that your server uses for sending files.
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
+ # Mount Action Cable outside main process or domain
+ # config.action_cable.mount_path = nil
+ # config.action_cable.url = 'wss://example.com/cable'
+ # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
+
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
# config.force_ssl = true
@@ -49,16 +47,15 @@
config.log_level = :debug
# Prepend all log lines with the following tags.
- # config.log_tags = [ :subdomain, :uuid ]
+ config.log_tags = [ :request_id ]
- # Use a different logger for distributed setups.
- # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
-
# Use a different cache store in production.
# config.cache_store = :mem_cache_store
- # Enable serving of images, stylesheets, and JavaScripts from an asset server.
- # config.action_controller.asset_host = 'http://assets.example.com'
+ # Use a real queuing backend for Active Job (and separate queues per environment)
+ # config.active_job.queue_adapter = :resque
+ # config.active_job.queue_name_prefix = "rails_5_0_#{Rails.env}"
+ config.action_mailer.perform_caching = false
# Ignore bad email addresses and do not raise email delivery errors.
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
@@ -73,6 +70,16 @@
# Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new
+
+ # Use a different logger for distributed setups.
+ # require 'syslog/logger'
+ # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
+
+ if ENV["RAILS_LOG_TO_STDOUT"].present?
+ logger = ActiveSupport::Logger.new(STDOUT)
+ logger.formatter = config.log_formatter
+ config.logger = ActiveSupport::TaggedLogging.new(logger)
+ end
# Do not dump schema after migrations.
config.active_record.dump_schema_after_migration = false
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/environments/test.rb rails 5.0/config/environments/test.rb
--- rails 4.2/config/environments/test.rb 2023-08-21 10:48:04
+++ rails 5.0/config/environments/test.rb 2023-08-21 12:38:11
@@ -12,9 +12,11 @@
# 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'
+ # Configure public file server for tests with Cache-Control for performance.
+ config.public_file_server.enabled = true
+ config.public_file_server.headers = {
+ 'Cache-Control' => 'public, max-age=3600'
+ }
# Show full error reports and disable caching.
config.consider_all_requests_local = true
@@ -25,14 +27,12 @@
# Disable request forgery protection in test environment.
config.action_controller.allow_forgery_protection = false
+ config.action_mailer.perform_caching = false
# Tell Action Mailer not to deliver emails to the real world.
# The :test delivery method accumulates sent emails in the
# ActionMailer::Base.deliveries array.
config.action_mailer.delivery_method = :test
-
- # Randomize the order test cases are executed.
- config.active_support.test_order = :random
# Print deprecation notices to the stderr.
config.active_support.deprecation = :stderr
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/initializers/application_controller_renderer.rb rails 5.0/config/initializers/application_controller_renderer.rb
--- rails 4.2/config/initializers/application_controller_renderer.rb 1969-12-31 16:00:00
+++ rails 5.0/config/initializers/application_controller_renderer.rb 2023-08-21 12:38:11
@@ -0,0 +1,8 @@
+# Be sure to restart your server when you modify this file.
+
+# ActiveSupport::Reloader.to_prepare do
+# ApplicationController.renderer.defaults.merge!(
+# http_host: 'example.org',
+# https: false
+# )
+# end
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/initializers/cookies_serializer.rb rails 5.0/config/initializers/cookies_serializer.rb
--- rails 4.2/config/initializers/cookies_serializer.rb 2023-08-21 10:48:04
+++ rails 5.0/config/initializers/cookies_serializer.rb 2023-08-21 12:38:11
@@ -1,3 +1,5 @@
# Be sure to restart your server when you modify this file.
+# Specify a serializer for the signed and encrypted cookie jars.
+# Valid options are :json, :marshal, and :hybrid.
Rails.application.config.action_dispatch.cookies_serializer = :json
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/initializers/new_framework_defaults.rb rails 5.0/config/initializers/new_framework_defaults.rb
--- rails 4.2/config/initializers/new_framework_defaults.rb 1969-12-31 16:00:00
+++ rails 5.0/config/initializers/new_framework_defaults.rb 2023-08-21 12:38:11
@@ -0,0 +1,26 @@
+# Be sure to restart your server when you modify this file.
+#
+# This file contains migration options to ease your Rails 5.0 upgrade.
+#
+# Read the Guide for Upgrading Ruby on Rails for more info on each option.
+
+Rails.application.config.action_controller.raise_on_unfiltered_parameters = true
+
+# Enable per-form CSRF tokens. Previous versions had false.
+Rails.application.config.action_controller.per_form_csrf_tokens = true
+
+# Enable origin-checking CSRF mitigation. Previous versions had false.
+Rails.application.config.action_controller.forgery_protection_origin_check = true
+
+# Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`.
+# Previous versions had false.
+ActiveSupport.to_time_preserves_timezone = true
+
+# Require `belongs_to` associations by default. Previous versions had false.
+Rails.application.config.active_record.belongs_to_required_by_default = true
+
+# Do not halt callback chains when a callback returns false. Previous versions had true.
+ActiveSupport.halt_callback_chains_on_return_false = false
+
+# Configure SSL options to enable HSTS with subdomains. Previous versions had false.
+Rails.application.config.ssl_options = { hsts: { subdomains: true } }
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/initializers/session_store.rb rails 5.0/config/initializers/session_store.rb
--- rails 4.2/config/initializers/session_store.rb 2023-08-21 10:48:04
+++ rails 5.0/config/initializers/session_store.rb 2023-08-21 12:38:11
@@ -1,3 +1,3 @@
# Be sure to restart your server when you modify this file.
-Rails.application.config.session_store :cookie_store, key: '_r42_session'
+Rails.application.config.session_store :cookie_store, key: '_rails_5_0_session'
Only in rails 4.2/config/initializers: to_time_preserves_timezone.rb
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/initializers/wrap_parameters.rb rails 5.0/config/initializers/wrap_parameters.rb
--- rails 4.2/config/initializers/wrap_parameters.rb 2023-08-21 10:48:04
+++ rails 5.0/config/initializers/wrap_parameters.rb 2023-08-21 12:38:11
@@ -5,7 +5,7 @@
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
ActiveSupport.on_load(:action_controller) do
- wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
+ wrap_parameters format: [:json]
end
# To enable root element in JSON for ActiveRecord objects.
diff --ignore-space-change --minimal --recursive --unidirectional-new-file --unified rails 4.2/config/puma.rb rails 5.0/config/puma.rb
--- rails 4.2/config/puma.rb 1969-12-31 16:00:00
+++ rails 5.0/config/puma.rb 2023-08-21 12:38:11
@@ -0,0 +1,47 @@
+# Puma can serve each request in a thread from an internal thread pool.
+# The `threads` method setting takes two numbers a minimum and maximum.
+# Any libraries that use thread pools should be configured to match
+# the maximum value specified for Puma. Default is set to 5 threads for minimum
+# and maximum, this matches the default thread size of Active Record.
+#
+threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i
+threads threads_count, threads_count
+
+# Specifies the `port` that Puma will listen on to receive requests, default is 3000.
+#
+port ENV.fetch("PORT") { 3000 }
+
+# Specifies the `environment` that Puma will run in.
+#
+environment ENV.fetch("RAILS_ENV") { "development" }
+
+# Specifies the number of `workers` to boot in clustered mode.
+# Workers are forked webserver processes. If using threads and workers together
+# the concurrency of the application would be max `threads` * `workers`.
+# Workers do not work on JRuby or Windows (both of which do not support
+# processes).
+#
+# workers ENV.fetch("WEB_CONCURRENCY") { 2 }
+
+# Use the `preload_app!` method when specifying a `workers` number.
+# This directive tells Puma to first boot the application and load code
+# before forking the application. This takes advantage of Copy On Write
+# process behavior so workers use less memory. If you use this option
+# you need to make sure to reconnect any threads in the `on_worker_boot`
+# block.