Module: JsxRosetta::PagesRouting::Emitter
- Defined in:
- lib/jsx_rosetta/pages_routing.rb
Overview
Renders a Scanner result as a full ‘config/routes.rb` file.
Class Method Summary collapse
Class Method Details
.emit(routes:, skipped:, source_dir:, generated_at: nil) ⇒ Object
419 420 421 422 423 424 425 426 427 428 429 430 431 |
# File 'lib/jsx_rosetta/pages_routing.rb', line 419 def emit(routes:, skipped:, source_dir:, generated_at: nil) generated_at ||= Time.now.utc.strftime("%Y-%m-%d") page_routes = routes.select { |r| r.kind == :standard } error_routes = routes.select { |r| r.kind == :error_page } layout_routes = routes.select { |r| r.kind == :layout } sections = [header(source_dir, generated_at, routes, skipped)] sections << skipped_block(skipped) unless skipped.empty? sections << layouts_block(layout_routes) unless layout_routes.empty? sections << error_pages_block(error_routes) unless error_routes.empty? sections << draw_block(page_routes, error_routes) sections << generator_hints(page_routes) unless page_routes.empty? "#{sections.join("\n\n")}\n" end |