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
31 32 33 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 31 def macro? macro_name.present? end |
#macro_arguments ⇒ Array<String>?
36 37 38 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 36 def macro_arguments parsed_macro.if_present(&:arguments) end |
#macro_name ⇒ String?
41 42 43 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 41 def macro_name parsed_macro.if_present(&:name) end |
#macro_parser ⇒ Object
45 46 47 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 45 def macro_parser MACRO_PARSER end |
#macro_value ⇒ Array<String>
50 51 52 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 50 def macro_value document.macro_lines(macro_name, macro_arguments) end |
#result ⇒ Array<String>
23 24 25 26 27 28 29 |
# File 'lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb', line 23 def result if macro? macro_value else [line] end end |