<aside> 👉
Links (Block base class)
Notion Ruby Mapping Public API Reference
</aside>
$\fbox{implemented in FileBaseBlock}$
[PARAM] url_or_fuo bookmark url (String) or fuo (FileUploadObject)
[PARAM(optional)] caption
<aside> 📃
The following objects are used for this argument.
self.new creates a FileBlock object using a url.  caption is an optional parameter.  Currently, an external file url can be used.
b = FileBlock.new "a_url", caption: "Sample url"; b.block_json
# => {"type"=>"file", "object"=>"block", "file"=>{"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 = FileBlock.new fuo, caption: "test image"; b.block_json
# => {"type"=>"file", "object"=>"block", "file"=>{"type"=>"file_upload", "file_upload"=>{"id": "XXXXXXXXXXXXXXXXXXXXXXXXXXX"}}}
$\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/>"}}'
$\fbox{implemented in FileBaseBlock}$
caption returns the RichTextArray object for FileBlock.
b = FileBlock.new "a_url", caption: "Sample url"; b.caption
=> #<NotionRubyMapping::RichTextArray:...>
$\fbox{implemented in FileBaseBlock}$
file_upload_object returns an object for FileUploadObject.
fuo = FileUploadObject fname: "test.png"
b = FileBlock.new fuo, caption: "test image"; b.file_upload_object
# => NotionRubyMapping::FileUploadObject-XXXXXXXXXXXXXXXXXXXXXXXXXX
$\fbox{implemented in FileBaseBlock}$
file_upload_object= updates a FileUploadObject for FileBlock and sets update_block_key of the payload object.
b = FileBlock.new "a_url", caption: "Sample url"; b.url
fuo = FileUploadObject fname: "test.png"
b.file_upload_object = fuo
# => NotionRubyMapping::FileUploadObject-XXXXXXXXXXXXXXXXXXXXXXXXXX