NotionRubyMapping のアップデート(23) : hkob の雑記録 (182)

はじめに

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 を作るように指示されます。

GitHub のトップ

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

pull request 作成画面

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

conflicts テスト完了

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

Confirm merge

無事に 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

無事にリリースされたようです。

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 側でもリリースを切らなくてもよいのですが、気分的にリリースを振っておきます。

GibHub のリリース画面

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

Publish release

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

Release 完了

おわりに

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

hkob.notion.site