class Schematrix::Generators::DslParser
Outputs the instance DSL parser family: one static parser module per compiled object schema under a Parser module level, plus the shared Prism runtime written once per output directory through DslParserSupport. Selecting dsl_parser is all a run needs; no builder or enum code loads at parse time.
Public Class Methods
Source
# File lib/schematrix/generators/dsl_parser.rb, line 17 def self.file_extension = ".rb"
Source
# File lib/schematrix/generators/dsl_parser.rb, line 16 def self.template_class = Templates::DslParser
Source
# File lib/schematrix/generators/dsl_parser.rb, line 15 def self.template_name = "dsl_parser.erb"
Public Instance Methods
# File lib/schematrix/generators/dsl_parser.rb, line 19 def class_name_from_path(uri, name = nil) super.sub(/\ADsl::/, "Parser::") end
Calls superclass method
Schematrix::Generators::DslNaming#class_name_from_path
Source
# File lib/schematrix/generators/dsl_parser.rb, line 23 def support_generators [DslParserSupport.new(output_dir, module_name, format:, command:)] end