Class: Notion::Generated::Endpoints::Blocks

Inherits:
Endpoints::Base show all
Defined in:
lib/notion/endpoints/blocks.rb,
lib/notion/generated/endpoints/blocks.rb

Instance Method Summary collapse

Methods inherited from Endpoints::Base

#initialize, operation, operations

Constructor Details

This class inherits a constructor from Notion::Endpoints::Base

Instance Method Details

#append_children(block_id:, children:, **params, &block) ⇒ Object

Append block children



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/notion/generated/endpoints/blocks.rb', line 41

def append_children(block_id:, children:, position: nil, after: nil, on_oversize: :split, **params)
  successful_ids = []
  Notion::Blocks::Chunker.new(children, on_oversize: on_oversize).chunks.each_with_index do |chunk, index|
    placement = if index.zero?
                  position || after_position(after)
                else
                  after_position(successful_ids.last)
                end
    response = perform(
      :append_children,
      :patch,
      "/v1/blocks/{block_id}/children",
      params.merge(block_id: block_id, children: chunk, position: placement).compact,
      path: ["block_id"],
      query: [],
      rules: { body_rules: { send_empty: true, required: ["children"] } }
    )
    successful_ids.concat(response.results.filter_map(&:id)) if response.respond_to?(:results)
  end
  successful_ids
rescue Error => e
  raise PartialAppendError.new(e.message, successful_ids: successful_ids, cause: e)
end

#children(block_id:, **params, &block) ⇒ Object

Retrieve block children



35
36
37
38
# File 'lib/notion/generated/endpoints/blocks.rb', line 35

def children(block_id:, **params, &block)
    params[:block_id] = block_id
  invoke_operation(:children, params, &block)
end

#delete(block_id:, **params, &block) ⇒ Object

Delete a block



29
30
31
32
# File 'lib/notion/generated/endpoints/blocks.rb', line 29

def delete(block_id:, **params, &block)
    params[:block_id] = block_id
  invoke_operation(:delete, params, &block)
end

#retrieve(block_id:, **params, &block) ⇒ Object

Retrieve a block



17
18
19
20
# File 'lib/notion/generated/endpoints/blocks.rb', line 17

def retrieve(block_id:, **params, &block)
    params[:block_id] = block_id
  invoke_operation(:retrieve, params, &block)
end

#update(block_id:, **params, &block) ⇒ Object

Update a block



23
24
25
26
# File 'lib/notion/generated/endpoints/blocks.rb', line 23

def update(block_id:, **params, &block)
    params[:block_id] = block_id
  invoke_operation(:update, params, &block)
end