descending: NotionRubyMapping 解説 (81)

はじめに

NotionRubyMapping 解説の第81回目です。昨日の ascending の反対である降順並び替えに関する descending を紹介します。まず、以前使っていたデータベースを取得します。

parent

irb(main):002> db = Database.find "https://www.notion.so/hkob/cad035c49e5346e78331cb5d05cbc754?v=a03e96ed79ad4d35808e7a08583396a0&pvs=4"
=> NotionRubyMapping::Database-cad035c49e5346e78331cb5d05cbc754

query_database のみ

まず何もフィルタをかけないデータベースの検索では順番は規定されません。

irb(main):003> db.query_database.map(&:title)
=> ["New title", "ABC", "XYZ"]

descending

Query オブジェクトに対して定義されている descending メソッドは並び替えの順序を昇順に設定するメソッドです。どのプロパティを指定するかは引数で示します。Query オブジェクトが他に何もない場合には、Query.new で作成します。

irb(main):004> dps = db.properties
=> PropertyCache
irb(main):005>  db.query_database(Query.new.descending(dps["Name"])).map(&:title)
=> ["XYZ", "New title", "ABC"]

すでにフィルタなどで Query オブジェクトがあれば descending は使えるので、既存のフィルタにメソッドチェーンするのが楽です。

irb(main):006> db.query_database(dps["Status"].filter_equals("未着手").descending
(dps["Name"])).map(&:title)
=> ["XYZ", "ABC"]

おわりに

今日は、昇順並び替えを指定する descending を紹介しました。

Query のマニュアルはこちらです。その他のマニュアルもここから見てください。

Query

NotionRubyMapping解説