はじめに
NotionRubyMapping 解説の第36回目です。今日は Number プロパティの追加です。データベースは共通なものを使い回します。
irb(main):002> db = Database.find "https://www.notion.so/hkob/cad035c49e5346e78331cb5d05cbc754?v=a03e96ed79ad4d35808e7a08583396a0&pvs=4" => NotionRubyMapping::Database-cad035c49e5346e78331cb5d05cbc754
NumberProperty
まず、NumberProperty を追加し、np に代入しておきます。
irb(main):003> np = db.add_property NumberProperty, "Number" => #<NotionRubyMapping::NumberProperty:0x0000000103744c40 ...
NumberProperty はフォーマットを format =
で変更できます。ここでは、number_with_comma でカンマ付きの数値を設定してみます。
irb(main):004> np.format = "number_with_commas" => "number_with_commas" irb(main):005> db.save => NotionRubyMapping::Database-cad035c49e5346e78331cb5d05cbc754
実行すると以下のようになりました。「number_with_commas」に設定したはずなのですが適用できていませんでした。新規作成時には number しか設定できない NotionRubyMapping のバグのようです。あとで直しておきます。
作成後に format を変更してみます。
irb(main):010> np.format = "number_with_commas" => "number_with_commas" irb(main):011> db.save => NotionRubyMapping::Database-cad035c49e5346e78331cb5d05cbc754
結果は以下のようになりました。今度は正しく変更できているようです。追加の時だけうまくパラメータが渡せていないようです。
ちなみに、公式の API reference によると以下の format に対応しているようです。かなりたくさんのフォーマットに対応しているのですね。
- argentine_peso
- baht
- australian_dollar
- canadian_dollar
- chilean_peso
- colombian_peso
- danish_krone
- dirham
- dollar
- euro
- forint
- franc
- hong_kong_dollar
- koruna
- krona
- leu
- lira
- mexican_peso
- new_taiwan_dollar
- new_zealand_dollar
- norwegian_krone
- number
- number_with_commas
- percent
- philippine_peso
- pound
- peruvian_sol
- rand
- real
- ringgit
- riyal
- ruble
- rupee
- rupiah
- shekel
- singapore_dollar
- uruguayan_peso
- yen,
- yuan
- won
- zloty
おわりに
今回は、NumberProperty を紹介しました。実際に使ってみるとこんなバグに引っ掛かるんですね。今日も Notion 座談会のため、中身は短めです。
NumberProperty のマニュアルはこちらです。