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 +7 -0
- data/.rabbit +2 -0
- data/README.md +23 -0
- data/Rakefile +17 -0
- data/config.yaml +25 -0
- data/pdf/update-rails-2023-11-update-rails-2023-11.pdf +0 -0
- data/update-rails-2023-11.md +129 -0
- metadata +62 -0
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
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
|
Binary file
|
@@ -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: []
|