Class: Avm::EacAsciidoctorBase0::Instances::Build::Document
- Inherits:
-
Object
- Object
- Avm::EacAsciidoctorBase0::Instances::Build::Document
show all
- Defined in:
- lib/avm/eac_asciidoctor_base0/instances/build/document.rb,
lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb,
lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb,
lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb,
lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb
Defined Under Namespace
Modules: BodyTarget, Media
Classes: HeaderLines, PreProcessLine
Instance Method Summary
collapse
Instance Method Details
#body_source_lines ⇒ Enumerable<String>
26
27
28
29
30
31
32
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 26
def body_source_lines
if source_document.body_path.file?
source_document.body_path.read.each_line
else
default_body_source_lines
end
end
|
36
37
38
39
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 36
def child(basename)
basename = basename.to_s
children.find { |c| c.source_document.root_path.basename.to_path == basename }
end
|
43
44
45
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 43
def child!(basename)
child(basename) || raise("Child not found with basename \"#{basename}\"")
end
|
#convert_base_dir ⇒ Pathname
48
49
50
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 48
def convert_base_dir
source_document.root_path
end
|
#default_body_source_lines ⇒ Enumerable<String>
53
54
55
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 53
def default_body_source_lines
macro_lines(:default_body)
end
|
#href_to_other_body(other) ⇒ String
21
22
23
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 21
def href_to_other_body(other)
other.body_target_path.relative_path_from(body_target_path.dirname)
end
|
#macro_lines(name, arguments = []) ⇒ Array<String>
59
60
61
62
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 59
def macro_lines(name, arguments = [])
::Avm::EacAsciidoctorBase0::Instances::Macros.const_get(name.to_s.camelize)
.new(self, arguments).result
end
|
64
65
66
67
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 64
def perform
perform_self
perform_children
end
|
75
76
77
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 75
def perform_children
children.each(&:perform)
end
|
69
70
71
72
73
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 69
def perform_self
infov 'Building', source_document.subpath
body_target_write
copy_media_directory
end
|
#pre_processed_body_source_content ⇒ String
80
81
82
83
84
85
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 80
def pre_processed_body_source_content
(
+ [''] + body_source_lines
.flat_map { |line| pre_process_line(line.rstrip) }
).map { |line| "#{line.rstrip}\n" }.join
end
|
#tree_documents_count ⇒ Object
87
88
89
|
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document.rb', line 87
def tree_documents_count
children.inject(1) { |a, e| a + e.tree_documents_count }
end
|