<aside> 👉 Links (Block base class)

Page

BookmarkBlock

Database

BreadcrumbBlock

ColumnBlock

EquationBlock

Heading3Block

NumberedListItemBlock

SyncedBlock

ToggleBlock

VideoBlock

List

BulletedListItemBlock

ColumnListBlock

FileBlock

ImageBlock

ParagraphBlock

TableOfContentsBlock

ToggleHeading1Block

Block

CalloutBlock

DividerBlock

Heading1Block

LinkPreviewBlock

PdfBlock

TemplateBlock

ToggleHeading2Block

Notion Ruby Mapping Public API Reference

</aside>

<aside> ℹ️ ↑ Table of Contents

</aside>

1. Singleton methods

self.new(url, caption: []) → BookmarkBlock

$\fbox{implemented in UrlCaptionBaseBlock}$

self.new creates a BookmarkBlock object using a url. caption is an optional parameter.

b = BookmarkBlock.new "a_url", caption: "Sample url"; b.block_json
# => {"type"=>"bookmark", "object"=>"block", "bookmark"=>{"caption"=>[{"type"=>"text", "text"=>{"content"=>"Sample url", "link"=>nil}, "plain_text"=>"Sample url", "href"=>nil}], "url"=>"a_url"}}# => {"type"=>"bookmark", "bookmark"=>{"caption"=>[{"type"=>"text", "text"=>{"content"=>"Sample url", "link"=>nil}, "plain_text"=>"Sample url", "href"=>nil}], "url"=>"a_url"}}

↑ Table of Contents

2. Instance methods

save(dry_run: false)

$\fbox{implemented in Block}$

save updates the Block object with update block API. The updated object has block information generated from the JSON response.

block = Block.find "899e342cec84415f9ff86225704cbb75" # Notion API call
block.url = "<https://www.apple.com/>"
block.save
# => #<NotionRubyMapping::Block:...> # updated Block object

Block.find(id, dry_run: true) creates a shell script using Retrieve a block API for verification.

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/>"}}'

↑ Table of Contents

caption → RichTextArray

$\fbox{implemented in UrlCaptionBaseBlock}$

caption returns the RichTextArray object for BookmarkBlock.

b = BookmarkBlock.new "<https://www.google.com/>", caption: "Google"; b.caption
=> #<NotionRubyMapping::RichTextArray:...>

↑ Table of Contents

url → String

$\fbox{implemented in UrlCaptionBaseBlock}$

url returns the url parameter of BookmarkBlock.

b = BookmarkBlock.new "<https://www.google.com/>", caption: "Google"; b.url
# => "<https://www.google.com/>"

↑ Table of Contents