Class: NotionRubyMapping::EquationBlock

Inherits:
Block
  • Object
show all
Defined in:
lib/notion_ruby_mapping/blocks/equation_block.rb

Overview

Notion block

Instance Attribute Summary

Attributes inherited from Block

#can_append, #can_have_children, #caption, #color, #language, #rich_text_array, #url

Attributes inherited from Base

#archived, #has_children, #id, #json

Instance Method Summary collapse

Methods inherited from Block

#append_after, #children_block_json, decode_block, #decode_block_caption, #decode_block_rich_text_array, #decode_color, #destroy, find, type2class, #update, #update_block_json

Methods inherited from Base

#append_block_children, #assert_parent_children_pair, #assign_property, #block?, block_id, #children, #comments, #cover, create_from_json, #created_time, #database?, database_id, dry_run_script, #get, #icon, #inspect, #json_properties, #last_edited_time, #new_record?, #page?, page_id, #parent, #parent_id, #properties, #property_values_json, #reload, #restore_from_json, #save, #set_cover, #set_icon, #synced_block_original?, #update_json

Constructor Details

#initialize(expression = nil, json: nil, id: nil, parent: nil) ⇒ EquationBlock

Returns a new instance of EquationBlock.



8
9
10
11
12
13
14
15
# File 'lib/notion_ruby_mapping/blocks/equation_block.rb', line 8

def initialize(expression = nil, json: nil, id: nil, parent: nil)
  super(json: json, id: id, parent: parent)
  @equation_object = if @json
                       EquationObject.equation_object @json[type]["expression"]
                     else
                       EquationObject.equation_object expression
                     end
end

Instance Method Details

#block_json(not_update: true) ⇒ Hash{String (frozen)->Hash

Returns ].

Parameters:

  • not_update (Boolean) (defaults to: true)

    false when update

Returns:

  • (Hash{String (frozen)->Hash)

    ]



19
20
21
22
23
# File 'lib/notion_ruby_mapping/blocks/equation_block.rb', line 19

def block_json(not_update: true)
  ans = super
  ans[type] = {"expression" => @equation_object.expression}
  ans
end

#expressionString



27
28
29
# File 'lib/notion_ruby_mapping/blocks/equation_block.rb', line 27

def expression
  @equation_object&.expression
end

#expression=(new_expression) ⇒ Object



33
34
35
36
# File 'lib/notion_ruby_mapping/blocks/equation_block.rb', line 33

def expression=(new_expression)
  @equation_object = EquationObject.equation_object new_expression
  @payload.add_update_block_key "expression"
end

#typeString

Returns:

  • (String)


39
40
41
# File 'lib/notion_ruby_mapping/blocks/equation_block.rb', line 39

def type
  "equation"
end