Class: Avm::EacAsciidoctorBase0::Instances::Build::Document::PreProcessLine
- Inherits:
-
Object
- Object
- Avm::EacAsciidoctorBase0::Instances::Build::Document::PreProcessLine
- Defined in:
- lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb
Constant Summary collapse
- ARGUMENT_SEPARATOR =
','- MACRO_PARSER =
%r{\A\s*//\#(\S+)(?:\s+(.+))?\s*?\z}.to_parser do |m| ::Struct.new(:name, :arguments).new(m[1], m[2].to_s.split(ARGUMENT_SEPARATOR).map(&:strip)) end
Instance Method Summary collapse
- #macro? ⇒ Boolean
- #macro_arguments ⇒ Array<String>?
- #macro_name ⇒ String?
- #macro_parser ⇒ Object
- #macro_value ⇒ Array<String>
- #result ⇒ Array<String>
Instance Method Details
#macro? ⇒ Boolean
29 30 31 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 29 def macro? macro_name.present? end |
#macro_arguments ⇒ Array<String>?
34 35 36 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 34 def macro_arguments parsed_macro.if_present(&:arguments) end |
#macro_name ⇒ String?
39 40 41 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 39 def macro_name parsed_macro.if_present(&:name) end |
#macro_parser ⇒ Object
43 44 45 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 43 def macro_parser MACRO_PARSER end |
#macro_value ⇒ Array<String>
48 49 50 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 48 def macro_value document.macro_lines(macro_name, macro_arguments) end |
#result ⇒ Array<String>
21 22 23 24 25 26 27 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 21 def result if macro? macro_value else [line] end end |