class NotionRb::Api::Create

Public Class Methods

new(params) click to toggle source
Calls superclass method NotionRb::Api::Base::new
# File lib/notion_rb/api/create.rb, line 6
def initialize(params)
  super

  @parent_id = params[:parent_id]
  @notion_id = SecureRandom.uuid
  @created_at = (Time.now.to_i / 100) * 100_000
end

Public Instance Methods

block_uuid() click to toggle source
# File lib/notion_rb/api/create.rb, line 14
def block_uuid
  success? && @notion_id
end

Private Instance Methods

params() click to toggle source
# File lib/notion_rb/api/create.rb, line 24
def params
  NotionRb::RequestParams.new.add_transaction.tap do |transaction|
    transaction
      .add_operation(:set_block_type, @notion_id, 'block')
      .add_operation(:update_parent, @notion_id, @parent_id)
      .add_operation(:list_after, @parent_id, @notion_id)
      .add_operation(:set_block_title, @notion_id, [])
      .add_operation(:set_block_created_time, @notion_id, @created_at)
      .add_operation(:set_block_last_edited_time, @notion_id, @created_at)
  end.to_h
end
url() click to toggle source
# File lib/notion_rb/api/create.rb, line 20
def url
  'submitTransaction'
end