Class: ActionSpec::OpenApi::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/action_spec/open_api/generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(application: nil, routes: nil, title: nil, version: nil, server_url: nil) ⇒ Generator

Returns a new instance of Generator.



32
33
34
35
36
37
38
# File 'lib/action_spec/open_api/generator.rb', line 32

def initialize(application: nil, routes: nil, title: nil, version: nil, server_url: nil)
  @application = application
  @routes = routes
  @title = title
  @version = version
  @server_url = server_url
end

Class Method Details

.generate!(application: nil, routes: nil, output:, title: nil, version: nil, server_url: nil) ⇒ Object



7
8
9
10
11
12
# File 'lib/action_spec/open_api/generator.rb', line 7

def generate!(application: nil, routes: nil, output:, title: nil, version: nil, server_url: nil)
  document = new(application:, routes:, title:, version:, server_url:).call

  FileUtils.mkdir_p(File.dirname(output))
  File.write(output, pretty_yaml(plain_data(document)))
end

Instance Method Details

#callObject



40
41
42
43
44
45
46
# File 'lib/action_spec/open_api/generator.rb', line 40

def call
  Document.new(
    title: resolved_title,
    version: resolved_version,
    server_url:
  ).build(paths:)
end