Module: Moku6::Generators

Defined in:
lib/moku6/generators.rb,
lib/moku6/generators/base_generator.rb,
lib/moku6/generators/docs_generator.rb,
lib/moku6/generators/ruby_generator.rb,
lib/moku6/generators/rails_generator.rb,
lib/moku6/generators/outbox_generator.rb,
lib/moku6/generators/example_generator.rb,
lib/moku6/generators/bigquery_generator.rb,
lib/moku6/generators/open_api_generator.rb,
lib/moku6/generators/typescript_generator.rb,
lib/moku6/generators/json_schema_generator.rb,
lib/moku6/generators/cloud_events_generator.rb,
lib/moku6/generators/event_catalog_generator.rb

Defined Under Namespace

Classes: BaseGenerator, BigQueryGenerator, CloudEventsGenerator, DocsGenerator, EventCatalogGenerator, ExampleGenerator, JsonSchemaGenerator, OpenApiGenerator, OutboxGenerator, RailsGenerator, RubyGenerator, TypeScriptGenerator

Constant Summary collapse

REGISTRY =
{
  docs: DocsGenerator,
  json_schema: JsonSchemaGenerator,
  typescript: TypeScriptGenerator,
  ruby: RubyGenerator,
  bigquery: BigQueryGenerator,
  cloudevents: CloudEventsGenerator,
  eventcatalog: EventCatalogGenerator,
  openapi: OpenApiGenerator,
  rails: RailsGenerator,
  outbox: OutboxGenerator,
  example: ExampleGenerator
}

Class Method Summary collapse

Class Method Details

.build(name, catalog, config) ⇒ Object

: (String | Symbol name, Catalog catalog, Config config) -> untyped



24
25
26
27
# File 'lib/moku6/generators.rb', line 24

def self.build(name, catalog, config)
  klass = REGISTRY.fetch(name.to_sym) { raise UsageError, "unknown generator: #{name}" }
  klass.new(catalog, config)
end

.register(name, klass) ⇒ Object

: (String | Symbol name, untyped klass) -> untyped



21
# File 'lib/moku6/generators.rb', line 21

def self.register(name, klass) = REGISTRY[name.to_sym] = klass