Class: OasRails::Spec::Info

Inherits:
Object
  • Object
show all
Includes:
Specable
Defined in:
lib/oas_rails/spec/info.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Specable

#as_json, #to_spec

Constructor Details

#initialize(**kwargs) ⇒ Info

Returns a new instance of Info.



7
8
9
10
11
12
13
14
15
# File 'lib/oas_rails/spec/info.rb', line 7

def initialize(**kwargs)
  @title = kwargs[:title] || default_title
  @summary = kwargs[:summary] || default_summary
  @description = kwargs[:description] || default_description
  @terms_of_service = kwargs[:terms_of_service] || ''
  @contact = Spec::Contact.new
  @license = Spec::License.new
  @version = kwargs[:version] || '0.0.1'
end

Instance Attribute Details

#contactObject

Returns the value of attribute contact.



5
6
7
# File 'lib/oas_rails/spec/info.rb', line 5

def contact
  @contact
end

#descriptionObject

Returns the value of attribute description.



5
6
7
# File 'lib/oas_rails/spec/info.rb', line 5

def description
  @description
end

#licenseObject

Returns the value of attribute license.



5
6
7
# File 'lib/oas_rails/spec/info.rb', line 5

def license
  @license
end

#summaryObject

Returns the value of attribute summary.



5
6
7
# File 'lib/oas_rails/spec/info.rb', line 5

def summary
  @summary
end

#terms_of_serviceObject

Returns the value of attribute terms_of_service.



5
6
7
# File 'lib/oas_rails/spec/info.rb', line 5

def terms_of_service
  @terms_of_service
end

#titleObject

Returns the value of attribute title.



5
6
7
# File 'lib/oas_rails/spec/info.rb', line 5

def title
  @title
end

#versionObject

Returns the value of attribute version.



5
6
7
# File 'lib/oas_rails/spec/info.rb', line 5

def version
  @version
end

Instance Method Details

#default_descriptionObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/oas_rails/spec/info.rb', line 29

def default_description
  "# Welcome to OasRails

OasRails automatically generates interactive documentation for your Rails APIs using the OpenAPI Specification 3.1 (OAS 3.1) and displays it with a nice UI.

## Getting Started

You've successfully mounted the OasRails engine. This default documentation is based on your routes and automatically gathered information.

## Enhancing Your Documentation

To customize and enrich your API documentation:

1. Generate an initializer file:

  ```
  rails generate oas_rails:config
  ```
2. Edit the created `config/initializers/oas_rails.rb` file to override default settings and add project-specific information.

3. Use Yard tags in your controller methods to provide detailed API endpoint descriptions.

## Features

- Automatic OAS 3.1 document generation
- [RapiDoc](https://github.com/rapi-doc/RapiDoc) integration for interactive exploration
- Minimal setup required for basic documentation
- Extensible through configuration and Yard tags

Explore your API documentation and enjoy the power of OasRails!

For more information and advanced usage, visit the [OasRails GitHub repository](https://github.com/a-chacon/oas_rails).

"
end

#default_summaryObject



25
26
27
# File 'lib/oas_rails/spec/info.rb', line 25

def default_summary
  "OasRails: Automatic Interactive API Documentation for Rails"
end

#default_titleObject



21
22
23
# File 'lib/oas_rails/spec/info.rb', line 21

def default_title
  "OasRails #{VERSION}"
end

#oas_fieldsObject



17
18
19
# File 'lib/oas_rails/spec/info.rb', line 17

def oas_fields
  [:title, :summary, :description, :terms_of_service, :contact, :license, :version]
end