class JSRailsRoutes::Generator

Attributes

builder[R]
writable[R]

Public Class Methods

new(builder, writable: File) click to toggle source

@param builder [JSRailsRoutes::Builder] @param writable [#write]

# File lib/js_rails_routes/generator.rb, line 10
def initialize(builder, writable: File)
  @builder = builder
  @writable = writable
end

Public Instance Methods

generate(task) click to toggle source

@param task [String] @return [Hash{String => String}]

# File lib/js_rails_routes/generator.rb, line 17
    def generate(task)
      builder.build.each do |artifact|
        file_name = File.join(config.output_dir, artifact.file_name)
        file_body = <<~FILE_BODY.chomp
          /* eslint-disable */
          // Don't edit manually. `rake #{task}` generates this file.
          #{artifact.body}
        FILE_BODY
        writable.write(file_name, file_body)
      end
    end

Private Instance Methods

config() click to toggle source

@return [JSRailsRoutes::Configuration]

# File lib/js_rails_routes/generator.rb, line 34
def config
  JSRailsRoutes.config
end