Class: Prosereflect::CodeBlockWrapper
- Inherits:
-
Node
- Object
- Lutaml::Model::Serializable
- Node
- Prosereflect::CodeBlockWrapper
show all
- Defined in:
- lib/prosereflect/code_block_wrapper.rb
Overview
CodeBlockWrapper class represents a pre tag that wraps code blocks in ProseMirror.
Constant Summary
collapse
- PM_TYPE =
'code_block_wrapper'
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Node
#add_child, #find_all, #find_children, #find_first, #marks, #marks=, #parse_content, #process_attrs_data, #raw_marks, #to_yaml
Constructor Details
Returns a new instance of CodeBlockWrapper.
21
22
23
24
25
26
27
|
# File 'lib/prosereflect/code_block_wrapper.rb', line 21
def initialize(attributes = {})
attributes[:content] ||= []
attributes[:attrs] = {
'line_numbers' => false
}
super
end
|
Class Method Details
.create(attrs = nil) ⇒ Object
29
30
31
|
# File 'lib/prosereflect/code_block_wrapper.rb', line 29
def self.create(attrs = nil)
new(attrs: attrs)
end
|
Instance Method Details
#add_code_block(code = nil) ⇒ Object
43
44
45
46
47
48
|
# File 'lib/prosereflect/code_block_wrapper.rb', line 43
def add_code_block(code = nil)
block = CodeBlock.new
block.content = code if code
add_child(block)
block
end
|
#code_blocks ⇒ Object
50
51
52
|
# File 'lib/prosereflect/code_block_wrapper.rb', line 50
def code_blocks
content
end
|
#line_numbers ⇒ Object
39
40
41
|
# File 'lib/prosereflect/code_block_wrapper.rb', line 39
def line_numbers
@line_numbers || attrs&.[]('line_numbers') || false
end
|
#line_numbers=(value) ⇒ Object
33
34
35
36
37
|
# File 'lib/prosereflect/code_block_wrapper.rb', line 33
def line_numbers=(value)
@line_numbers = value
self.attrs ||= {}
attrs['line_numbers'] = value
end
|
#text_content ⇒ Object
54
55
56
|
# File 'lib/prosereflect/code_block_wrapper.rb', line 54
def text_content
code_blocks.map(&:text_content).join("\n")
end
|
#to_h ⇒ Object
58
59
60
61
62
63
64
|
# File 'lib/prosereflect/code_block_wrapper.rb', line 58
def to_h
hash = super
hash['attrs'] = {
'line_numbers' => line_numbers
}
hash
end
|