Method: Swagger::Docs::Generator.write_doc

Defined in:
lib/swagger/docs/generator.rb

.write_doc(result) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/swagger/docs/generator.rb', line 28

def write_doc(result)
  settings = result[:settings]
  config = result[:config]
  create_output_paths(settings[:api_file_path])
  clean_output_paths(settings[:api_file_path]) if config[:clean_directory] || false
  root = result[:root]
  resources = root.delete 'resources'
  root.merge!(config[:attributes] || {}) # merge custom user attributes like info
  # write the api-docs file
  write_to_file("#{settings[:api_file_path]}/#{config[:api_file_name]}", root, config)
  # write the individual resource files
  resources.each do |resource|
    resource_file_path = resource.delete 'resourceFilePath'
    write_to_file(File.join(settings[:api_file_path], "#{resource_file_path}.json"), resource, config)
  end
  result
end