Links (Block base class)
PageBlockCalloutBlockDividerBlockHeading1BlockLinkPreviewBlockPdfBlockTemplateBlock (Deprecated)ToggleHeading2Block
DatabaseBookmarkBlockCodeBlockEmbedBlockHeading2BlockLinkToPageBlockQuoteBlockToDoBlockToggleHeading3Block
1. Class methods
self.new(url_or_fuo, caption: []) → PdfBlock
- [PARAM] url_or_fuo pdf url (String) or file upload object (FileUploadObject)
- [PARAM(optional)] caption
- 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)
The following objects are used for this argument.
self.new creates a PdfBlock object using a url. caption is an optional parameter. Currently, an external file url can be used.b = PdfBlock.new "a_url", caption: "Sample url" b.block_json # => {"type"=>"pdf", "object"=>"block", "pdf"=>{"type"=>"external", "external"=>{"url"=>"a_url"}, "caption"=>[{"type"=>"text", "text"=>{"content"=>"Sample url", "link"=>nil}, "plain_text"=>"Sample url", "href"=>nil}]}} fuo = FileUploadObject fname: "test.png" b = PdfBlock.new fuo, caption: "test image"; b.block_json # => {"type"=>"pdf", "object"=>"block", "pdf"=>{"type"=>"file_upload", "file_upload"=>{"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXX"}}}
2. Instance methods
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 = 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/"}}'
caption → RichTextArray
caption returns the RichTextArray object for PdfBlock.b = PdfBlock.new "a_url", caption: "Sample url" b.caption => #<NotionRubyMapping::RichTextArray:...>
file_upload_object → FileUploadObject
file_upload_object returns an object for FileUploadObject.fuo = FileUploadObject fname: "test.png" b = PDFBlock.new fuo, caption: "test image"; b.file_upload_object # => NotionRubyMapping::FileUploadObject-XXXXXXXXXXXXXXXXXXXXXXXXXX
file_upload_object=(file_upload_object)
file_upload_object= updates a FileUploadObject for FileBlock and sets update_block_key of the payload object.b = PdfBlock.new "a_url", caption: "Sample url"; b.url fuo = FileUploadObject fname: "test.png" b.file_upload_object = fuo # => NotionRubyMapping::FileUploadObject-XXXXXXXXXXXXXXXXXXXXXXXXXX
url → String
url returns the url parameter of PdfBlock.b = PdfBlock.new "a_url", caption: "Sample url" b.url # => "a_url"
url=(str)
- [PARAM] str url str
url= updates the url parameter of block for PdfBlock and sets update_block_key of the payload object.b = PdfBlock.new "a_url", caption: "Sample url" b.url = "new_url" b.update_block_json # => {"pdf"=>{"external"=>{"url"=>"new_url"}}}

