RichTextProperty(Page): NotionRubyMapping 解説 (49)

はじめに

NotionRubyMapping 解説の第49回目です。ページ側のプロパティを解説しています。今回は RichTextProperty の変更です。現在はデータベース内の最初のページを使って説明していきます。

無題

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

RichTextProperty

まず、RichTextProperty を取得します。

irb(main):003> rtp = page.properties["RichText"]
=>
#<NotionRubyMapping::RichTextProperty:0x0000000100bd6680

relation でリレーションの設定状況を確認できます。初期状態では空なので [] です。

irb(main):004> rtp.text_objects
=>
#<NotionRubyMapping::RichTextArray:0x000000011bed73c8
 @key="title",
 @rich_text_objects=[],
 @will_update=false>

rtp.text_objects は RichTextArray なので << で文字列を追加できます。

irb(main):006> rtp.text_objects << "Sample text"
=>
#<NotionRubyMapping::TextObject:0x000000011ea5c598
 @options={"plain_text"=>"Sample text"},
 @text="Sample text",
 @type="text",
 @will_update=false>
irb(main):007> page.save
=> NotionRubyMapping::Page-619a113814134c759773175ac988b96a

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

RichTextArray

おわりに

今回はページの RichTextProperty の変更を説明しました。text_object が RichTextArray なので、文字列や TextObject などを追加することでプロパティを更新することができます。

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

RichTextProperty

NotionRubyMapping解説