はじめに
hkob の雑記録の第182回目は、一通り FileUploadObject の更新が終わったので、RubyGem の更新について解説します。
README.md の更新
最近の更新について、README を更新していませんでした。せめて、ChangeLog だけでも上げておくことにしました。
## 3. ChangeLog - 2025/6/29 [v2.0.1] add creating FileUploadObject with external url - 2025/6/26 [v2.0.0] [FIX] remove symbolize_names: true (only use String) - 2025/6/11 [v1.0.0] Update Faraday to 2.13.1 and Change symbolize_names: true (Broken version) - 2025/2/11 [v0.8.9] Add verification_property
development のコミット
修正分を development にコミットし、github にプッシュしました。
kob@hM1Pro ~/L/C/D/r/notion_ruby_mapping (development)> git log commit fdfc29235f0e14dea0edc9cab8c465963e887542 (HEAD -> development, origin/development) Author: Hiroyuki KOBAYASHI <hkob@metro-cit.ac.jp> Date: Sun Jun 29 20:08:06 2025 +0900 add creating FileUploadObject with external url commit 6e17a4353c1a2c4f2a77e6a07ba491ced2be1e06 (tag: v2.0.0, origin/main, origin/HEAD, main) Merge: b1e6eef e451c1d Author: Hiroyuki KOBAYASHI <hkob@metro-cit.ac.jp> Date: Thu Jun 26 20:27:33 2025 +0900 Merge pull request #5 from hkob/development [FIX] remove symbolize_names: true (only use String)
プルリクエスト作成 & マージ
GitHub にアクセスすると、pull request を作るように指示されます。

以下のような画面が出てきました。Create pull request を押してみます。

クリックすると conflicts のテストが実行されます。本来はここで CI を回すべきでしょうが、まだ設定していませんでした。今度時間のある時に設定してみようと思います。ここでは、Merge pull request とします。

以下のような画面になるので、Confirm merge とします。

無事に merge されました。

ローカル環境の update
main へのマージは GitHub の方だけで行われているので、ローカル環境を update しておきます。
git checkout main; git pull; git checkout development; git merge main; git push Switched to branch 'main' Your branch is behind 'origin/main' by 2 commits, and can be fast-forwarded. (use "git pull" to update your local branch) Updating 6e17a43..7319de0 Fast-forward README.md | 3 +++ lib/notion_ruby_mapping/controllers/notion_cache.rb | 14 +++++++++++--- lib/notion_ruby_mapping/objects/file_upload_object.rb | 12 ++++++++++-- lib/notion_ruby_mapping/version.rb | 2 +- spec/fixtures/create_file_upload_external_url.json | 18 ++++++++++++++++++ spec/fixtures/create_file_upload_external_url.sh | 10 ++++++++++ spec/fixtures/retrieve_a_file_upload.json | 22 ++++++++++++++++++++++ spec/fixtures/retrieve_a_file_upload.sh | 5 +++++ spec/fixtures/update_block_pdf_file_upload.json | 31 +++++++++++++++++++++++++++++++ spec/fixtures/update_block_pdf_file_upload.sh | 8 ++++++++ spec/notion_ruby_mapping/controllers/notion_cache_spec.rb | 6 +++++- spec/notion_ruby_mapping/objects/file_upload_object_spec.rb | 17 +++++++++++++++-- spec/spec_helper.rb | 14 ++++++++++++++ 13 files changed, 153 insertions(+), 9 deletions(-) create mode 100644 spec/fixtures/create_file_upload_external_url.json create mode 100644 spec/fixtures/create_file_upload_external_url.sh create mode 100644 spec/fixtures/retrieve_a_file_upload.json create mode 100644 spec/fixtures/retrieve_a_file_upload.sh create mode 100644 spec/fixtures/update_block_pdf_file_upload.json create mode 100644 spec/fixtures/update_block_pdf_file_upload.sh Switched to branch 'development' Your branch is up to date with 'origin/development'. Updating fdfc292..7319de0 Fast-forward Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) To github.com:hkob/notion_ruby_mapping.git fdfc292..7319de0 development -> development
念のため、git log で確認しておきます。
commit 7319de09b65aa6eac8e8cbbc443c5f53168c2345 (HEAD -> development, origin/main, origin/development, origin/HEAD, main) Merge: 6e17a43 fdfc292 Author: Hiroyuki KOBAYASHI <hkob@metro-cit.ac.jp> Date: Sun Jun 29 20:41:49 2025 +0900 Merge pull request #6 from hkob/development add creating FileUploadObject with external url
gem の作成テスト
念のためリリースの前に gem が作成できることを rake build で確認してみます。
rake build notion_ruby_mapping 2.0.1 built to pkg/notion_ruby_mapping-2.0.1.gem.
ローカルインストールして動作を確認してみます。require などをして問題ないことを確認しました。
gem install pkg/notion_ruby_mapping-2.0.1.gem Successfully installed notion_ruby_mapping-2.0.1 Parsing documentation for notion_ruby_mapping-2.0.1 Installing ri documentation for notion_ruby_mapping-2.0.1 Done installing documentation for notion_ruby_mapping after 0 seconds 1 gem installed
rubygem のリリース
ここまで確認したら rubygem にリリースします。こちらもコマンドを実行するだけです。二要素認証の OTP を入力すると RubyGem に登録されます。
rake release notion_ruby_mapping 2.0.1 built to pkg/notion_ruby_mapping-2.0.1.gem. Tagged v2.0.1. Pushed git commits and release tag. Pushing gem to https://rubygems.org... You have enabled multi-factor authentication. Please enter OTP code. Code: 452408 Successfully registered gem: notion_ruby_mapping (2.0.1) Pushed notion_ruby_mapping 2.0.1 to rubygems.org
無事にリリースされたようです。
実際に gem コマンドでインストールして新しいバージョンのものが入ることを確認します。
gem install notion_ruby_mapping Successfully installed notion_ruby_mapping-2.0.1 Parsing documentation for notion_ruby_mapping-2.0.1 Done installing documentation for notion_ruby_mapping after 0 seconds 1 gem installed
GitHub でのリリース管理
RubyGems でバージョン管理しているので、GitHub 側でもリリースを切らなくてもよいのですが、気分的にリリースを振っておきます。

リリースを作成する際には RubyGems が自動的に設定してくれた Tag を使うと簡単です。

Publish release すると、このようにリリースが作成されました。

おわりに
今回は RubyGem をリリースするまでを解説しました。今後、CI も含めてみようと思います。