<aside> 👉 Links (Block base class)
Notion Ruby Mapping Public API Reference
</aside>
<aside> ℹ️ ↑ Table of Contents
</aside>
Block.find(id)
creates a Block object with retrieving block API
. The created object has block information generated from the JSON response.
block = Block.find "0250fb6d600142eca4c74efb8794fc6b" # Notion API call
# => #<NotionRubyMapping::Block:...> # retrieved Block object
Block.find(id, dry_run: true)
creates a shell script using Retrieve a block API for verification.
block = Block.find "0250fb6d600142eca4c74efb8794fc6b", dry_run: true
# =>
# #!/bin/sh
# curl '<https://api.notion.com/v1/blocks/0250fb6d600142eca4c74efb8794fc6b>' \\
# -H 'Notion-Version: 2022-02-22' \\
# -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \\
# -H 'Content-Type: application/json'
$\fbox{implemented in Block}$
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.
parent_block = Block.find "065babbba0854c188e964feb56291be2"
parent_block.append_block_children CodeBlock.new("% ls -l", caption: "List files")
# =>
# #<NotionRubyMapping::Block:0x0000000104e7d150
append_block_children(blocks, dry_run: true)
creates a shell script using Append block children API for verification.
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\\"}}]}'"
column_list
sets column_list parameters to a plain block object. When creating a column list block via Append block children, the column_list must have at least 2 columns, and those columns must have at least one child each.
b = Block.new.column_list [
Block.new.callout("Emoji callout", emoji: "✅"),
Block.new.callout("Url callout",
file_url: "<https://img.icons8.com/ios-filled/250/000000/mac-os.png>"),
]; b.block_json
# => {"type"=>"column_list", "object"=>"block", "column_list"=>{"children"=>[{"type"=>"column", "object"=>"block", "column"=>{"children"=>[{"type"=>"callout", "object"=>"block", "callout"=>{"rich_text"=>[{"type"=>"text", "text"=>{"content"=>"Emoji callout", "link"=>nil}, "plain_text"=>"Emoji callout", "href"=>nil}], "color"=>"default", "icon"=>{"type"=>"emoji", "emoji"=>"✅"}}}]}}, {"type"=>"column", "object"=>"block", "column"=>{"children"=>[{"type"=>"callout", "object"=>"block", "callout"=>{"rich_text"=>[{"type"=>"text", "text"=>{"content"=>"Url callout", "link"=>nil}, "plain_text"=>"Url callout", "href"=>nil}], "color"=>"default", "icon"=>{"type"=>"external", "external"=>{"url"=>"<https://img.icons8.com/ios-filled/250/000000/mac-os.png>"}}}}]}}]}}
destroy
sets the block archived flag to true.
b = Block.new id: "7306e4c4bc5b48d78948e59ec0059afd"
b.destroy