TitleProperty(Page): NotionRubyMapping 解説 (51)

はじめに

NotionRubyMapping 解説の第51回目です。ページ側のプロパティを解説しています。今回は TitleProperty の変更です。Title は以前の RichTextProperty と同様ですが、装飾は意味がありません。現在はデータベース内の最初のページを使って説明していきます。

New title

irb(main):002> page = Page.find "https://www.notion.so/hkob/619a113814134c759773175ac988b96a?pvs=4"
=> NotionRubyMapping::Page-619a113814134c759773175ac988b96a

TitleProperty

まず、TitleProperty を取得します。

irb(main):006> tp = page.properties["Name"]
=>
#<NotionRubyMapping::TitleProperty:0x000000010858a648

text_objects で RichTextArray が取得できます。初期状態では空なので rich_text_objects は [] になっています。

irb(main):009> tp.text_objects
=>
#<NotionRubyMapping::RichTextArray:0x000000010b265c58
 @key="title",
 @rich_text_objects=[],
 @will_update=false>
i

text_object に TextObject や文字列を追加するとタイトルを設定できます。

irb(main):010> tp.text_objects << "New title"
=>
#<NotionRubyMapping::TextObject:0x000000010e598440
 @options={"plain_text"=>"New title"},
 @text="New title",
 @type="text",
 @will_update=false>
irb(main):011> page.save
=> NotionRubyMapping::Page-619a113814134c759773175ac988b96a

設定されたセレクトがプロパティに設定されていることがわかります。

TitleProperty

おわりに

今回はページの TitleProperty の変更を説明しました。RichTextObjects と同様に RichTextArray を更新することができます。ただし、タイトルの場合は装飾は意味がありません。

TitleProperty のマニュアルはこちらです。

TitleProperty

NotionRubyMapping解説