はじめに
NotionRubyMapping 解説の第51回目です。ページ側のプロパティを解説しています。今回は TitleProperty の変更です。Title は以前の RichTextProperty と同様ですが、装飾は意味がありません。現在はデータベース内の最初のページを使って説明していきます。
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 の変更を説明しました。RichTextObjects と同様に RichTextArray を更新することができます。ただし、タイトルの場合は装飾は意味がありません。
TitleProperty のマニュアルはこちらです。