-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRakefile
More file actions
23 lines (20 loc) · 705 Bytes
/
Rakefile
File metadata and controls
23 lines (20 loc) · 705 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require "rake"
require_relative "lib/rails_routes_to_openapi"
namespace :routes_to_openapi do
desc "Convert Rails routes to OpenAPI YAML"
task :convert do
routes_output = IO.popen("rails routes") { |io| io.read }
# Check if the output contains expected routes information
if routes_output.include?("Usage:") || routes_output.strip.empty?
puts "Failed to retrieve routes. Please ensure you are running this task within a Rails project."
exit 1
end
begin
RailsRoutesToOpenAPI.convert(routes_output)
puts 'OpenAPI v3 YAML file generated successfully.'
rescue => e
puts "Failed to generate OpenAPI YAML file."
puts e.message
end
end
end