HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📌
hkob's Notion
/
NotionRubyMapping idea note
NotionRubyMapping idea note
/
Notion Ruby Mapping Public API Reference
Notion Ruby Mapping Public API Reference
/
🧱
ToggleHeading2Block
🧱

ToggleHeading2Block

👉
Links (Block base class)
🧱
Page
🧱
BookmarkBlock
🧱
CodeBlock
🧱
EmbedBlock
🧱
Heading2Block
🧱
LinkToPageBlock
🧱
QuoteBlock
🧱
ToDoBlock
🧱
ToggleHeading3Block
🧱
Database
🧱
BreadcrumbBlock
🧱
ColumnBlock
🧱
EquationBlock
🧱
Heading3Block
🧱
NumberedListItemBlock
🧱
SyncedBlock
🧱
ToggleBlock
🧱
VideoBlock
🧱
List
🧱
BulletedListItemBlock
🧱
ColumnListBlock
🧱
FileBlock
🧱
ImageBlock
🧱
ParagraphBlock
🧱
TableOfContentsBlock
🧱
ToggleHeading1Block
🧱
Block
🧱
CalloutBlock
🧱
DividerBlock
🧱
Heading1Block
🧱
LinkPreviewBlock
🧱
PdfBlock
🧱
TemplateBlock (Deprecated)
🧱
ToggleHeading2Block
Notion Ruby Mapping Public API Reference
Notion Ruby Mapping Public API Reference

1. PDF methods

self.new(text_info, sub_blocks: nil, color: “default”) →
🧱
ToggleHeading2Block

  • [PARAM] text_info
    • 📃
      The following objects are used for this argument.
      • a String like as “text” (String)
      • an Array of Strings (Array of Strings)
      • a RichTextObject (RichTextObject)
      • an Array of RichTextObjects (Array of RichTextObjects)
      • a RichTextArray (RichTextArray)
  • [PARAM(optional)] sub_blocks children blocks (Array of Blocks). In append block children API , there is a limit for nesting children as follows. So, children blocks can not have any children.
    • For blocks that allow children, we allow up to two levels of nesting in a single request.
  • [PARAM(optional)] color color string. When a_color is not specified, use “default”
  • This block can have children blocks.
self.new creates a ToggleHeading2Block object using a text_info. color is an optional parameters.

2. Instance methods

append_block_children(*blocks, dry_run: false) → Array<Block>, String

  • [PARAM] blocks array of blocks
  • [PARAM(optional)] dry_run: true if you want to create a verification script
append_block_children method of an existing block appends some block objects. Some blocks allow child blocks to be set up at the same time. However, due to API limitations, grandchild blocks cannot be created at once. There are many types of blocks, so check the page(
🧪
Append block children sample
) to see how to create blocks.
append_block_children(blocks, dry_run: true) creates a shell script using Append block children API for verification.

color → String

color returns the color string for ToggleHeading2Block.

color=(new_color)

  • [PARAM] new_color new color string
color= updates the color parameter for ToggleHeading2Block and sets update_block_key of the payload object.

save(dry_run: false)

  • [PARAM] dry_run: true if you want to create a verification script
save updates the Block object with update block API. The updated object has block information generated from the JSON response.
Block.find(id, dry_run: true) creates a shell script using Retrieve a block API for verification.

rich_text_array →
🎛️
RichTextArray

rich_text_array returns the rich_text parameter of ToggleHeading2Block.
 
b = ToggleHeading2Block.new "Toggle Heading 2", color: "blue_background", sub_blocks: [ BulletedListItemBlock.new("inside Toggle Heading 2"), ]b = ToggleHeading2Block.new "Toggle Heading 2", color: "blue_background", sub_blocks: [ BulletedListItemBlock.new("inside Toggle Heading 2"), ] b.block_json # => {"type"=>"heading_2", "object"=>"block", "heading_2"=>{"rich_text"=>[{"type"=>"text", "text"=>{"content"=>"Toggle Heading 2", "link"=>nil}, "plain_text"=>"Toggle Heading 2", "href"=>nil}], "color"=>"blue_background", "children"=>[{"type"=>"bulleted_list_item", "object"=>"block", "bulleted_list_item"=>{"rich_text"=>[{"type"=>"text", "text"=>{"content"=>"inside Toggle Heading 2", "link"=>nil}, "plain_text"=>"inside Toggle Heading 2", "href"=>nil}], "color"=>"default"}}]}}
parent_block = Block.find "065babbba0854c188e964feb56291be2" parent_block.append_block_children CodeBlock.new("% ls -l", caption: "List files") # => # #<NotionRubyMapping::Block:0x0000000104e7d150
parent_block.append_block_children CodeBlock.new("% ls -l", caption: "List files"), dry_run: true # => "#!/bin/sh\ncurl -X PATCH 'https://api.notion.com/v1/blocks/065babbba0854c188e964feb56291be2/children' \\\n -H 'Notion-Version: 2022-02-22' \\\n -H 'Authorization: Bearer '\"$NOTION_API_KEY\"'' \\\n -H 'Content-Type: application/json' \\\n --data '{\"children\":[{\"type\":\"code\",\"object\":\"block\",\"code\":{\"rich_text\":[{\"type\":\"text\",\"text\":{\"content\":\"% ls -l\",\"link\":null},\"plain_text\":\"% ls -l\",\"href\":null}],\"caption\":[{\"type\":\"text\",\"text\":{\"content\":\"List files\",\"link\":null},\"plain_text\":\"List files\",\"href\":null}],\"language\":\"shell\"}}]}'"
b = ToggleHeading1Block.new "Toggle Heading 1", color: "orange_background", sub_blocks: [ BulletedListItemBlock.new("inside Toggle Heading 1"), ] b.color # => "default"
b = ToggleHeading2Block.new "Toggle Heading 2", color: "blue_background", sub_blocks: [ BulletedListItemBlock.new("inside Toggle Heading 2"), ] b.color = "red" b.update_block_json # => {"heading_2"=>{"color"=>"red", "rich_text"=>[{"type"=>"text", "text"=>{"content"=>"Toggle Heading 2", "link"=>nil}, "plain_text"=>"Toggle Heading 2", "href"=>nil}]}}
block = Block.find "899e342cec84415f9ff86225704cbb75" # Notion API call block.url = "https://www.apple.com/" block.save # => #<NotionRubyMapping::Block:...> # updated Block object
block = Block.find "899e342cec84415f9ff86225704cbb75" # Notion API call block.url = "https://www.apple.com/" block.save dry_run: true # => # curl -X PATCH 'https://api.notion.com/v1/blocks/899e342cec84415f9ff86225704cbb75' \ # -H 'Notion-Version: 2022-02-22' \ # -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \ # -H 'Content-Type: application/json' \ # --data '{"bookmark":{"url":"https://www.apple.com/"}}'
b = ToggleHeading2Block.new "Toggle Heading 2", color: "blue_background", sub_blocks: [ BulletedListItemBlock.new("inside Toggle Heading 2"), ] b.rich_text_array # => #<NotionRubyMapping::RichTextArray:...>