Class: Typelizer::RouteWriter
- Inherits:
-
Object
- Object
- Typelizer::RouteWriter
- Defined in:
- lib/typelizer/route_writer.rb
Instance Method Summary collapse
- #call(routes, force:) ⇒ Object
-
#initialize(config) ⇒ RouteWriter
constructor
A new instance of RouteWriter.
Constructor Details
#initialize(config) ⇒ RouteWriter
Returns a new instance of RouteWriter.
7 8 9 10 |
# File 'lib/typelizer/route_writer.rb', line 7 def initialize(config) @config = config @template_cache = {} end |
Instance Method Details
#call(routes, force:) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/typelizer/route_writer.rb', line 12 def call(routes, force:) FileUtils.rm_rf(config.output_dir) if force written_files = [] controllers = routes.group_by { |r| r[:controller] } named = build_named_routes(routes, controllers) controllers.each do |controller, controller_routes| written_files << write_controller(controller, controller_routes) end written_files << write_index(controllers, named) written_files << write_runtime cleanup_stale_files(written_files) unless force Typelizer.logger.debug("Generated #{written_files.size} route files in #{config.output_dir}") written_files end |