class RailsExportRoutes::Formatters::JSONPretty

Public Class Methods

new(routes) click to toggle source
# File lib/rails_export_routes/formatters/json_pretty.rb, line 8
def initialize(routes)
  @routes = routes
end

Public Instance Methods

export_to_file(file) click to toggle source
# File lib/rails_export_routes/formatters/json_pretty.rb, line 12
def export_to_file(file) # rubocop:disable Metrics/MethodLength
  data = @routes.map do |route|
    {
      verb: route.verb,
      path: route.path_spec,
      controller: route.controller,
      action: route.action,
      name: route.name,
      constraints: route.constraints.to_h
    }
  end

  File.open(file, 'wb') do |f|
    f.write(::JSON.pretty_generate(data))
  end
end