はじめに
hkob の雑記録の第262回目は、Alfred workflow の ruby のバージョンを変更する方法について検討します。
Alfred の Run script で利用可能なもの
Alfred の Run script については、こちらで解説しています。
利用できるスクリプトですが、以下のようになっています。基本的には /usr/bin に保存されているものか、External Script で Workspace 内にエディタでスクリプトを作成するかになります。
External Script であればなんでも設定できるのですが、別途エディタで記載するとなるとメンテナンス性が下がります。そこで、シェルスクリプトの中でヒアドキュメントで Ruby script を書いてみることにします。
Ruby 3.4.6 & NorionRubyMapping 3.0.0 の起動確認
とりあえず、システム以外の Ruby が呼べることを以下のワークフローでテストしてみましょう。
Run Script の中は以下のようにしてみました。
スクリプトはこちらです。
query=$1 PATH="$HOME/.local/share/mise/shims:$PATH" ruby <<-EOL require "notion_ruby_mapping" include NotionRubyMapping print NotionRubyMapping::VERSION EOL
今、Ruby や python のバージョン管理をしているのですが、対話的シェル以外で使うなら、やはり shims に PATH を通してしまった方が楽なようです。
mise(rtx)を対話的シェル以外で使うなら大人しくshimsにPATH通した方がいい - Acme::AnaTofuZ->new;
動作確認
実際にデバッグメニューで動作確認してみました。正しく、NotionRubyMapping の 3.0.0 というバージョンが取得できているようです。システムの方に入っているのは 0.8.8 という古いものなので、正しく 3.4.6 の方に入れた NotionRubyMapping が呼ばれているようです。
[22:20:38.989] hkob's Notion tools[Hotkey] Processing complete [22:20:38.997] hkob's Notion tools[Hotkey] Passing output '' to Run Script [22:20:39.347] hkob's Notion tools[Run Script] Processing complete [22:20:39.356] hkob's Notion tools[Run Script] Passing output '3.0.0' to Large Type [22:20:39.358] hkob's Notion tools[Large Type] Processing complete [22:20:39.359] hkob's Notion tools[Large Type] No connected objects, discarding output '3.0.0'
おわりに
問題ないようなので、この仕組みを使って、各ワークフローを Notion-Version 2025-09-03 に対応させようと思います。