Equation Object: NotionRubyMapping 解説 (8)

はじめに

NotionRubyMapping 解説の第8回目です。昨日の Mention Object に続き、同じ Rich Text Object のサブクラスである Equation Object を解説します。今日の作業ページはこちらです。

Equation Object の作成 (8)

段落ブロックの取得 (復習)

上のページにこんな感じで段落ブロックを置いてみました。

Equation title

このブロックでブロックのリンクを取得とすると以下のような URL になります。

https://www.notion.so/hkob/Equation-Object-8-a00c89ba2daf4b6bb08e5634c0e40985?pvs=4#86562cb6621f43e68132c7259915d65d

昨日の復習としてこのブロックを取得してみます。

irb(main):002> block = Block.find "https://www.notion.so/hkob/Equation-Object-8-
a00c89ba2daf4b6bb08e5634c0e40985?pvs=4#86562cb6621f43e68132c7259915d65d"
=> NotionRubyMapping::ParagraphBlock-86562cb6621f43e68132c7259915d65d

NotionRubyMapping::ParagraphBlock のオブジェクトが取得できていることがわかります。

Equation object の作成

これまでは既存のものを読むばかりでしたが、せっかくなら作ってみましょう。

irb(main):003> eo = EquationObject.new "y = x^2 + 2x + 3"
=>
#<NotionRubyMapping::EquationObject:0x000000012acdd090
...

eo を表示するとこんな感じになります。

irb(main):004> eo
=>
#<NotionRubyMapping::EquationObject:0x000000012acdd090
 @expression="y = x^2 + 2x + 3",
 @options={"plain_text"=>"y = x^2 + 2x + 3"},
 @type="equation",
 @will_update=false>

block の rich_text_array に追加してみましょう。

irb(main):005> block.rich_text_array << eo
=>
#<NotionRubyMapping::EquationObject:0x000000012acdd090
 @expression="y = x^2 + 2x + 3",
 @options={"plain_text"=>"y = x^2 + 2x + 3"},
 @type="equation",
 @will_update=false>

保存してみます。

irb(main):007> block.save
=> NotionRubyMapping::ParagraphBlock-86562cb6621f43e68132c7259915d65d

Equation1

expression= を使うと数式を書き換えられます。

irb(main):009> eo.expression = "y = \\sqrt{x}"
=> "y = \\sqrt{x}"
irb(main):010> block.save
=> NotionRubyMapping::ParagraphBlock-86562cb6621f43e68132c7259915d65d

Equation 2

おわりに

昨日の Mention object に引き続き Equation object の使い方を解説しました。今日は Notion 座談会の後で時間がなかったので、内容の少ない Equation object にしました。機能もほとんどないのでちょうどよかったです。

EquationObject のマニュアルはこちら。

hkob.notion.site

NotionRubyMapping解説