rabbit-slide-znz-update-rails-2023-11 2023.11.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 68ae1ed723a91228fc26419575d7c1cce502ae312021dc691df36596b28fa6bb
4
+ data.tar.gz: b5120090094818b223abad437778cd4b802db94000f4e82d9947fa9c483d5c5e
5
+ SHA512:
6
+ metadata.gz: d0663981dc93a7f474a5fbbfd4f93e7f25851b19c498772b8142b8555dc12f0f4927c2c1bd3edf3a7e245bbd8fbdfc4647e9ac87592e0374057d553eb478850e
7
+ data.tar.gz: fe8633c32370258fdcddb25a97e52e04164ae743538a1d8e12614294ac689fcef8446dec34a8365e4026f2571c20c2b749f46d286f0f87e538e55e8132d727d9
data/.rabbit ADDED
@@ -0,0 +1,2 @@
1
+ --size 1920,1080
2
+ update-rails-2023-11.md
data/README.md ADDED
@@ -0,0 +1,23 @@
1
+ # 小規模個人アプリをRails 7.xにバージョンアップした話
2
+
3
+ [【出張版】Kyoto.rb Meetup 【大阪だよ】](https://kyotorb.connpass.com/event/296972/)のLT大会での発表資料です。
4
+
5
+ ## 作者向け
6
+
7
+ ### 表示
8
+
9
+ rake
10
+
11
+ ### 公開
12
+
13
+ rake publish
14
+
15
+ ## 閲覧者向け
16
+
17
+ ### インストール
18
+
19
+ gem install rabbit-slide-znz-update-rails-2023-11
20
+
21
+ ### 表示
22
+
23
+ rabbit rabbit-slide-znz-update-rails-2023-11.gem
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ # spec.add_runtime_dependency("rabbit-theme-YOUR-THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
data/config.yaml ADDED
@@ -0,0 +1,25 @@
1
+ ---
2
+ id: update-rails-2023-11
3
+ base_name: update-rails-2023-11
4
+ tags:
5
+ - ruby
6
+ - rails
7
+ presentation_date: '2023-11-27'
8
+ presentation_start_time:
9
+ presentation_end_time:
10
+ version: 2023.11.27.0
11
+ licenses: []
12
+ slideshare_id: rails-7x
13
+ speaker_deck_id: ruby-rihuarensumaniyuarugai-shan-ji-hua-2022-jin-bu-bao-gao
14
+ vimeo_id:
15
+ youtube_id:
16
+ width: 1920
17
+ height: 1080
18
+ source_code_uri:
19
+ author:
20
+ markup_language: :markdown
21
+ name: Kazuhiro NISHIYAMA
22
+ email: zn@mbf.nifty.com
23
+ rubygems_user: znz
24
+ slideshare_user: znzjp
25
+ speaker_deck_user: znz
@@ -0,0 +1,129 @@
1
+ # 小規模個人アプリをRails 7.xにバージョンアップした話
2
+
3
+ author
4
+ : Kazuhiro NISHIYAMA
5
+
6
+ content-source
7
+ : Kyoto.rb Meetup
8
+
9
+ date
10
+ : 2023-11-27
11
+
12
+ allotted-time
13
+ : 9m
14
+
15
+ theme
16
+ : lightning-simple
17
+
18
+ # self.introduction
19
+
20
+ - 西山 和広
21
+ - Ruby のコミッター
22
+ - github など: `@znz`
23
+ - 株式会社Ruby開発 www.ruby-dev.jp
24
+
25
+ # 対象
26
+
27
+ - 個人メモ用アプリ <https://github.com/znz/memo-app-r>
28
+ - scaffold をちょっと改造した程度の機能のみ
29
+ - ログイン、検索
30
+ - 位置情報 (これが欲しかったので自作)
31
+ - (自分専用なので)メモ本文は生HTMLが書ける
32
+ - Dokku にデプロイ
33
+
34
+ # 更新バージョン
35
+
36
+ - Rail 6.1.7.6 → 7.0.8 → 7.1.2
37
+ - Ruby 3.1.4 → 3.2.2
38
+
39
+ # 更新方法
40
+
41
+ 以下のように新規作成したアプリと比較
42
+
43
+ ```
44
+ docker run --rm -it ruby:3.1.4 /bin/bash
45
+ gem i rails -v '~> 7.0.0'
46
+ rails new /tmp/hoge --database=postgresql
47
+ ```
48
+
49
+ # 新規と比較して更新
50
+
51
+ - `Gemfile`
52
+ - `config/environments/*.rb`
53
+
54
+ # bin/rails app:update
55
+
56
+ - `bin/rails app:update` で更新
57
+ - Active Storage の migration などの不要なものは除外してマージ
58
+
59
+ # decaffeinate
60
+
61
+ - テストを実行しようとすると `*.coffee` があるとエラーになった
62
+ - <https://github.com/decaffeinate/decaffeinate>
63
+ <https://decaffeinate-project.org/>
64
+ を使って `*.coffee` を変換
65
+
66
+ # turbolinks
67
+
68
+ - `turbolinks` も `Gemfile` から削除していたのでエラー
69
+ - `turbo` に書き換え
70
+ - `app/assets/javascripts/application.js` から
71
+ `//= require turbolinks` を削除
72
+ (`turbo` の追加は必要なかった)
73
+
74
+ # 警告対応
75
+
76
+ - `to_s(:delimited)` → `to_fs(:delimited)`
77
+
78
+ # assets:precompile 失敗
79
+
80
+ Dokku に deploy すると、なぜか `rake assets:precompile` でエラー
81
+
82
+ -----> Preparing app for Rails asset pipeline
83
+ Running: rake assets:precompile
84
+ rake aborted!
85
+ LoadError: cannot load such file -- coffee_script
86
+
87
+ 原因不明なので `coffee-rails` を `Gemfile` に戻した。
88
+
89
+ # ruby も更新
90
+
91
+ - ついでに ruby も 3.2.2 に更新
92
+ - `ruby file: ".ruby-version"` はデプロイでエラー
93
+ - `ruby File.read(".ruby-version").chomp` にした
94
+
95
+ # new framework defaults
96
+
97
+ - `config.load_defaults 7.0` に更新
98
+ - `new_framework_defaults_7_0.rb` を削除
99
+ - デプロイするとログアウトしていたのでログインしなおし
100
+
101
+ # 7.1 に更新
102
+
103
+ 以下と比較して `Gemfile` を更新
104
+
105
+ ```
106
+ docker run --rm -it ruby:3.2.2 /bin/bash
107
+ gem i rails
108
+ rails new /tmp/hoge --database=postgresql
109
+ ```
110
+
111
+ # app:update
112
+
113
+ - `bin/rails app:update`
114
+ - Active Storage の migration は除外してマージ
115
+
116
+ # デプロイ
117
+
118
+ - テストも問題なく通るのでデプロイ
119
+ - 問題なく動いてそう
120
+ - Rails 7.0 から 7.1 は Rails のバージョンを上げるだけならあっさりできた
121
+
122
+ # 今後
123
+
124
+ - `new_framework_defaults_7_1` はまだ未対応なので対応予定
125
+ - JavaScript の位置情報取得部分もテストしたい
126
+ - Rails 標準の minitest を試しているが、単純なテストのみなので rspec と両方にしたい
127
+ - bootstrap 4 のままなので、更新か他のものに移行したい
128
+ - 位置情報取得部分を jQuery から移行したい
129
+ - `coffee-rails` は調査不足で原因不明のままだが `sprockets` を消せば解決すると期待したい
metadata ADDED
@@ -0,0 +1,62 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-znz-update-rails-2023-11
3
+ version: !ruby/object:Gem::Version
4
+ version: 2023.11.27.0
5
+ platform: ruby
6
+ authors:
7
+ - Kazuhiro NISHIYAMA
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-11-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ description: "[【出張版】Kyoto.rb Meetup 【大阪だよ】](https://kyotorb.connpass.com/event/296972/)のLT大会での発表資料です。"
28
+ email:
29
+ - zn@mbf.nifty.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".rabbit"
35
+ - README.md
36
+ - Rakefile
37
+ - config.yaml
38
+ - pdf/update-rails-2023-11-update-rails-2023-11.pdf
39
+ - update-rails-2023-11.md
40
+ homepage: https://slide.rabbit-shocker.org/authors/znz/update-rails-2023-11/
41
+ licenses: []
42
+ metadata: {}
43
+ post_install_message:
44
+ rdoc_options: []
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ requirements: []
58
+ rubygems_version: 3.4.10
59
+ signing_key:
60
+ specification_version: 4
61
+ summary: 小規模個人アプリをRails 7.xにバージョンアップした話
62
+ test_files: []