mirror of
https://github.com/ditkrg/rswag.git
synced 2026-01-25 15:22:56 +00:00
Compare commits
49 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f4ba3266ba | ||
|
|
a3aa56e2df | ||
|
|
3329c1ec55 | ||
|
|
8bdf3eac08 | ||
|
|
ed25ff36e6 | ||
|
|
7df00dde94 | ||
|
|
2a8c0cee4b | ||
|
|
e03af84262 | ||
|
|
b7a6b2de8b | ||
|
|
4bdbd7ed98 | ||
|
|
6c684729d1 | ||
|
|
81f8e0dbaf | ||
|
|
91a0f88eb5 | ||
|
|
586d0211ff | ||
|
|
d379338017 | ||
|
|
7179802fe0 | ||
|
|
16458d458a | ||
|
|
621d6f4754 | ||
|
|
ac65dc1780 | ||
|
|
a00145c1f7 | ||
|
|
f969fb6573 | ||
|
|
10bb732148 | ||
|
|
c74c88fd46 | ||
|
|
9cb187192d | ||
|
|
636cdcd8b3 | ||
|
|
e381bf85d4 | ||
|
|
9642937ee2 | ||
|
|
a50bf616b9 | ||
|
|
d69aa16985 | ||
|
|
4d1f5f831b | ||
|
|
aa8f16070d | ||
|
|
6fc9faab57 | ||
|
|
5ea1670d79 | ||
|
|
00aa08bb22 | ||
|
|
ef91e087d3 | ||
|
|
be6def33ac | ||
|
|
6b04c72cc9 | ||
|
|
890a31e749 | ||
|
|
862ea53cf4 | ||
|
|
254ade95db | ||
|
|
b9f71fe9b1 | ||
|
|
870d467046 | ||
|
|
334671cb95 | ||
|
|
efdfee5110 | ||
|
|
0c49c7e667 | ||
|
|
e52ea0ba69 | ||
|
|
fee3b3bb84 | ||
|
|
3eda72155a | ||
|
|
4842055ee6 |
@@ -1 +1 @@
|
|||||||
2.3.1
|
2.6.4
|
||||||
|
|||||||
23
.travis.yml
23
.travis.yml
@@ -1,24 +1,28 @@
|
|||||||
language: ruby
|
language: ruby
|
||||||
|
|
||||||
|
dist: xenial
|
||||||
|
services:
|
||||||
|
- xvfb
|
||||||
|
|
||||||
rvm:
|
rvm:
|
||||||
- 2.2.5
|
- 2.6.4
|
||||||
|
|
||||||
env:
|
env:
|
||||||
|
- RAILS_VERSION=6.0.0
|
||||||
- RAILS_VERSION=5.2.0
|
- RAILS_VERSION=5.2.0
|
||||||
- RAILS_VERSION=4.2.0
|
|
||||||
- RAILS_VERSION=3.2.22
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- libqtwebkit-dev
|
||||||
|
- libqtwebkit4
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- /home/travis/.rvm/gems/ruby-2.2.5
|
- /home/travis/.rvm/gems/ruby-2.6.4
|
||||||
|
|
||||||
install: ./ci/build.sh
|
install: ./ci/build.sh
|
||||||
|
|
||||||
before_script:
|
|
||||||
- export DISPLAY=:99.0
|
|
||||||
- sh -e /etc/init.d/xvfb start
|
|
||||||
- sleep 3
|
|
||||||
|
|
||||||
script: ./ci/test.sh
|
script: ./ci/test.sh
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -49,6 +53,7 @@ jobs:
|
|||||||
gemspec: rswag-ui.gemspec
|
gemspec: rswag-ui.gemspec
|
||||||
provider: rubygems
|
provider: rubygems
|
||||||
api_key: $RUBYGEMS_API_KEY
|
api_key: $RUBYGEMS_API_KEY
|
||||||
|
skip_cleanup: true
|
||||||
on:
|
on:
|
||||||
branch: master
|
branch: master
|
||||||
tags: true
|
tags: true
|
||||||
|
|||||||
26
CHANGELOG.md
Normal file
26
CHANGELOG.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# rswag
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
### Added
|
||||||
|
### Changed
|
||||||
|
### Deprecated
|
||||||
|
### Removed
|
||||||
|
### Fixed
|
||||||
|
### Security
|
||||||
|
|
||||||
|
## [2.0.6] - 2019-10-03
|
||||||
|
### Added
|
||||||
|
- Support for Rails 6 [#228](https://github.com/rswag/rswag/pull/228)
|
||||||
|
- Support for Windows paths [#176](https://github.com/rswag/rswag/pull/176)
|
||||||
|
### Changed
|
||||||
|
- Show response body when error code is not expected [#117](https://github.com/rswag/rswag/pull/177)
|
||||||
|
### Deprecated
|
||||||
|
### Removed
|
||||||
|
### Fixed
|
||||||
|
### Security
|
||||||
|
|
||||||
|
## [2.0.5] - 2018-07-10
|
||||||
59
CONTRIBUTING.md
Normal file
59
CONTRIBUTING.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# Contributing
|
||||||
|
|
||||||
|
## Fork, then clone the repo:
|
||||||
|
```
|
||||||
|
git clone git@github.com:rswag/rswag.git
|
||||||
|
cd rswag
|
||||||
|
```
|
||||||
|
|
||||||
|
## Build
|
||||||
|
Set up your machine:
|
||||||
|
```
|
||||||
|
./ci/build.sh
|
||||||
|
```
|
||||||
|
Or manually
|
||||||
|
```
|
||||||
|
bundle
|
||||||
|
cd test-app
|
||||||
|
bundle exec rake db:setup
|
||||||
|
cd -
|
||||||
|
|
||||||
|
cd rswag-ui
|
||||||
|
npm install
|
||||||
|
cd -
|
||||||
|
```
|
||||||
|
|
||||||
|
## Test
|
||||||
|
Make sure the tests pass:
|
||||||
|
```
|
||||||
|
./ci/test.sh
|
||||||
|
```
|
||||||
|
or manually
|
||||||
|
```
|
||||||
|
cd test-app
|
||||||
|
bundle exec rspec
|
||||||
|
```
|
||||||
|
|
||||||
|
Make your change. Add tests for your change. Make the tests pass:
|
||||||
|
|
||||||
|
```
|
||||||
|
bundle exec rspec
|
||||||
|
```
|
||||||
|
|
||||||
|
Push to your fork and [submit a Pull Request][pr].
|
||||||
|
|
||||||
|
[pr]: https://github.com/rswag/rswag/compare/
|
||||||
|
|
||||||
|
## Release
|
||||||
|
(for maintainers)
|
||||||
|
|
||||||
|
Update the changelog.md, putting the new version number in and moving the Unreleased marker.
|
||||||
|
|
||||||
|
Merge the changes into master you wish to release.
|
||||||
|
|
||||||
|
Add and push a new git tag, annotated tags preferred:
|
||||||
|
```
|
||||||
|
git tag -s 2.0.6 -m 'v2.0.6'
|
||||||
|
```
|
||||||
|
|
||||||
|
Travis will detect the tag and release all gems with that tag version number.
|
||||||
9
Gemfile
9
Gemfile
@@ -9,11 +9,16 @@ gem 'rails', "#{rails_version}"
|
|||||||
case rails_version.split('.').first
|
case rails_version.split('.').first
|
||||||
when '3'
|
when '3'
|
||||||
gem 'strong_parameters'
|
gem 'strong_parameters'
|
||||||
when '4', '5'
|
when '4', '5', '6'
|
||||||
gem 'responders'
|
gem 'responders'
|
||||||
end
|
end
|
||||||
|
|
||||||
gem 'sqlite3'
|
case rails_version.split('.').first
|
||||||
|
when '3', '4', '5'
|
||||||
|
gem 'sqlite3', '~> 1.3.6'
|
||||||
|
when '6'
|
||||||
|
gem 'sqlite3', '~> 1.4.1'
|
||||||
|
end
|
||||||
|
|
||||||
gem 'rswag-api', path: './rswag-api'
|
gem 'rswag-api', path: './rswag-api'
|
||||||
gem 'rswag-ui', path: './rswag-ui'
|
gem 'rswag-ui', path: './rswag-ui'
|
||||||
|
|||||||
51
README.md
51
README.md
@@ -1,6 +1,6 @@
|
|||||||
rswag (formerly swagger_rails)
|
rswag
|
||||||
=========
|
=========
|
||||||
[](https://travis-ci.org/domaindrivendev/rswag)
|
[](https://travis-ci.org/rswag/rswag)
|
||||||
|
|
||||||
[Swagger](http://swagger.io) tooling for Rails API's. Generate beautiful API documentation, including a UI to explore and test operations, directly from your rspec integration tests.
|
[Swagger](http://swagger.io) tooling for Rails API's. Generate beautiful API documentation, including a UI to explore and test operations, directly from your rspec integration tests.
|
||||||
|
|
||||||
@@ -14,9 +14,9 @@ Once you have an API that can describe itself in Swagger, you've opened the trea
|
|||||||
|
|
||||||
|Rswag Version|Swagger (OpenAPI) Spec.|swagger-ui|
|
|Rswag Version|Swagger (OpenAPI) Spec.|swagger-ui|
|
||||||
|----------|----------|----------|
|
|----------|----------|----------|
|
||||||
|[master](https://github.com/domaindrivendev/rswag/tree/master)|2.0|3.13.2|
|
|[master](https://github.com/rswag/rswag/tree/master)|2.0|3.17.3|
|
||||||
|[2.0.0](https://github.com/domaindrivendev/rswag/tree/2.0.0)|2.0|3.13.2|
|
|[2.0.5](https://github.com/rswag/rswag/tree/2.0.4)|2.0|3.17.3|
|
||||||
|[1.6.0](https://github.com/domaindrivendev/rswag/tree/1.6.0)|2.0|2.2.5|
|
|[1.6.0](https://github.com/rswag/rswag/tree/1.6.0)|2.0|2.2.5|
|
||||||
|
|
||||||
## Getting Started ##
|
## Getting Started ##
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ Once you have an API that can describe itself in Swagger, you've opened the trea
|
|||||||
gem 'rswag-api'
|
gem 'rswag-api'
|
||||||
gem 'rswag-ui'
|
gem 'rswag-ui'
|
||||||
|
|
||||||
groups :test do
|
group :test do
|
||||||
gem 'rspec-rails'
|
gem 'rspec-rails'
|
||||||
gem 'rswag-specs'
|
gem 'rswag-specs'
|
||||||
end
|
end
|
||||||
@@ -44,6 +44,13 @@ Once you have an API that can describe itself in Swagger, you've opened the trea
|
|||||||
```ruby
|
```ruby
|
||||||
rails g rswag:install
|
rails g rswag:install
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Or run the install generators for each package separately if you installed Rswag as separate gems, as indicated above:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
rails g rswag:api:install rswag:ui:install
|
||||||
|
RAILS_ENV=test rails g rswag:specs:install
|
||||||
|
```
|
||||||
|
|
||||||
3. Create an integration spec to describe and test your API.
|
3. Create an integration spec to describe and test your API.
|
||||||
|
|
||||||
@@ -195,7 +202,8 @@ RSpec.configure do |config|
|
|||||||
swagger: '2.0',
|
swagger: '2.0',
|
||||||
info: {
|
info: {
|
||||||
title: 'API V1',
|
title: 'API V1',
|
||||||
version: 'v1'
|
version: 'v1',
|
||||||
|
description: 'This is the first version of my API'
|
||||||
},
|
},
|
||||||
basePath: '/api/v1'
|
basePath: '/api/v1'
|
||||||
},
|
},
|
||||||
@@ -204,7 +212,8 @@ RSpec.configure do |config|
|
|||||||
swagger: '2.0',
|
swagger: '2.0',
|
||||||
info: {
|
info: {
|
||||||
title: 'API V2',
|
title: 'API V2',
|
||||||
version: 'v2'
|
version: 'v2',
|
||||||
|
description: 'This is the second version of my API'
|
||||||
},
|
},
|
||||||
basePath: '/api/v2'
|
basePath: '/api/v2'
|
||||||
}
|
}
|
||||||
@@ -212,7 +221,8 @@ RSpec.configure do |config|
|
|||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
__NOTE__: By default, the paths, operations and responses defined in your spec files will be associated with the first Swagger document in _swagger_helper.rb_. If you're using multiple documents, you'll need to tag the individual specs with their target document name:
|
#### Supporting multiple versions of API ####
|
||||||
|
By default, the paths, operations and responses defined in your spec files will be associated with the first Swagger document in _swagger_helper.rb_. If your API has multiple versions, you should be using separate documents to describe each of them. In order to assign a file with a given version of API, you'll need to add the ```swagger_doc``` tag to each spec specifying its target document name:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
# spec/integration/v2/blogs_spec.rb
|
# spec/integration/v2/blogs_spec.rb
|
||||||
@@ -226,6 +236,25 @@ describe 'Blogs API', swagger_doc: 'v2/swagger.json' do
|
|||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Formatting the description literals: ####
|
||||||
|
Swagger supports the Markdown syntax to format strings. This can be especially handy if you were to provide a long description of a given API version or endpoint. Use [this guide](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) for reference.
|
||||||
|
|
||||||
|
__NOTE:__ There is one difference between the official Markdown syntax and Swagger interpretation, namely tables. To create a table like this:
|
||||||
|
|
||||||
|
| Column1 | Collumn2 |
|
||||||
|
| ------- | -------- |
|
||||||
|
| cell1 | cell2 |
|
||||||
|
|
||||||
|
you should use the folowing syntax, making sure there are no whitespaces at the start of any of the lines:
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
| Column1 | Collumn2 |
|
||||||
|
| ------- | -------- |
|
||||||
|
| cell1 | cell2 |
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
### Specifying/Testing API Security ###
|
### Specifying/Testing API Security ###
|
||||||
|
|
||||||
Swagger allows for the specification of different security schemes and their applicability to operations in an API. To leverage this in rswag, you define the schemes globally in _swagger_helper.rb_ and then use the "security" attribute at the operation level to specify which schemes, if any, are applicable to that operation. Swagger supports :basic, :apiKey and :oauth2 scheme types. See [the spec](http://swagger.io/specification/#security-definitions-object-109) for more info.
|
Swagger allows for the specification of different security schemes and their applicability to operations in an API. To leverage this in rswag, you define the schemes globally in _swagger_helper.rb_ and then use the "security" attribute at the operation level to specify which schemes, if any, are applicable to that operation. Swagger supports :basic, :apiKey and :oauth2 scheme types. See [the spec](http://swagger.io/specification/#security-definitions-object-109) for more info.
|
||||||
@@ -457,7 +486,7 @@ Rswag::Api.configure do |c|
|
|||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
Note how the filter is passed the rack env for the current request. This provides a lot of flexibilty. For example, you can assign the "host" property (as shown) or you could inspect session information or an Authoriation header and remove operations based on user permissions.
|
Note how the filter is passed the rack env for the current request. This provides a lot of flexibilty. For example, you can assign the "host" property (as shown) or you could inspect session information or an Authorization header and remove operations based on user permissions.
|
||||||
|
|
||||||
### Enable Swagger Endpoints for swagger-ui ###
|
### Enable Swagger Endpoints for swagger-ui ###
|
||||||
|
|
||||||
@@ -494,7 +523,7 @@ rails g rswag:ui:custom
|
|||||||
|
|
||||||
This will add a local version that you can modify at _app/views/rswag/ui/home/index.html.erb_
|
This will add a local version that you can modify at _app/views/rswag/ui/home/index.html.erb_
|
||||||
|
|
||||||
### Publish UI Assets with "assets:precompile:
|
### Serve UI Assets Directly from your Web Server
|
||||||
|
|
||||||
Rswag ships with an embedded version of the [swagger-ui](https://github.com/swagger-api/swagger-ui), which is a static collection of JavaScript and CSS files. These assets are served by the rswag-ui middleware. However, for optimal performance you may want to serve them directly from your web server (e.g. Apache or NGINX). To do this, you'll need to copy them to the web server root. This is the "public" folder in a typical Rails application.
|
Rswag ships with an embedded version of the [swagger-ui](https://github.com/swagger-api/swagger-ui), which is a static collection of JavaScript and CSS files. These assets are served by the rswag-ui middleware. However, for optimal performance you may want to serve them directly from your web server (e.g. Apache or NGINX). To do this, you'll need to copy them to the web server root. This is the "public" folder in a typical Rails application.
|
||||||
|
|
||||||
|
|||||||
@@ -13,5 +13,5 @@ Gem::Specification.new do |s|
|
|||||||
|
|
||||||
s.files = Dir["{lib}/**/*"] + ["MIT-LICENSE", "Rakefile"]
|
s.files = Dir["{lib}/**/*"] + ["MIT-LICENSE", "Rakefile"]
|
||||||
|
|
||||||
s.add_dependency 'railties', '>= 3.1', '< 6.0'
|
s.add_dependency 'railties', '>= 3.1', '< 6.1'
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ require 'rails_helper'
|
|||||||
RSpec.configure do |config|
|
RSpec.configure do |config|
|
||||||
# Specify a root folder where Swagger JSON files are generated
|
# Specify a root folder where Swagger JSON files are generated
|
||||||
# NOTE: If you're using the rswag-api to serve API descriptions, you'll need
|
# NOTE: If you're using the rswag-api to serve API descriptions, you'll need
|
||||||
# to ensure that it's confiugred to server Swagger from the same folder
|
# to ensure that it's configured to serve Swagger from the same folder
|
||||||
config.swagger_root = Rails.root.to_s + '/swagger'
|
config.swagger_root = Rails.root.join('swagger').to_s
|
||||||
|
|
||||||
# Define one or more Swagger documents and provide global metadata for each one
|
# Define one or more Swagger documents and provide global metadata for each one
|
||||||
# When you run the 'rswag:specs:to_swagger' rake task, the complete Swagger will
|
# When you run the 'rswag:specs:swaggerize' rake task, the complete Swagger will
|
||||||
# be generated at the provided relative path under swagger_root
|
# be generated at the provided relative path under swagger_root
|
||||||
# By default, the operations defined in spec files are added to the first
|
# By default, the operations defined in spec files are added to the first
|
||||||
# document below. You can override this behavior by adding a swagger_doc tag to the
|
# document below. You can override this behavior by adding a swagger_doc tag to the
|
||||||
|
|||||||
@@ -14,17 +14,19 @@ module Rswag
|
|||||||
def validate!(metadata, response)
|
def validate!(metadata, response)
|
||||||
swagger_doc = @config.get_swagger_doc(metadata[:swagger_doc])
|
swagger_doc = @config.get_swagger_doc(metadata[:swagger_doc])
|
||||||
|
|
||||||
validate_code!(metadata, response.code)
|
validate_code!(metadata, response)
|
||||||
validate_headers!(metadata, response.headers)
|
validate_headers!(metadata, response.headers)
|
||||||
validate_body!(metadata, swagger_doc, response.body)
|
validate_body!(metadata, swagger_doc, response.body)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def validate_code!(metadata, code)
|
def validate_code!(metadata, response)
|
||||||
expected = metadata[:response][:code].to_s
|
expected = metadata[:response][:code].to_s
|
||||||
if code != expected
|
if response.code != expected
|
||||||
raise UnexpectedResponse, "Expected response code '#{code}' to match '#{expected}'"
|
raise UnexpectedResponse,
|
||||||
|
"Expected response code '#{response.code}' to match '#{expected}'\n" \
|
||||||
|
"Response body: #{response.body}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
|
|||||||
|
|
||||||
s.files = Dir["{lib}/**/*"] + ["MIT-LICENSE", "Rakefile" ]
|
s.files = Dir["{lib}/**/*"] + ["MIT-LICENSE", "Rakefile" ]
|
||||||
|
|
||||||
s.add_dependency 'activesupport', '>= 3.1', '< 6.0'
|
s.add_dependency 'activesupport', '>= 3.1', '< 6.1'
|
||||||
s.add_dependency 'railties', '>= 3.1', '< 6.0'
|
s.add_dependency 'railties', '>= 3.1', '< 6.1'
|
||||||
s.add_dependency 'json-schema', '~> 2.2'
|
s.add_dependency 'json-schema', '~> 2.2'
|
||||||
end
|
end
|
||||||
|
|||||||
6
rswag-ui/package-lock.json
generated
6
rswag-ui/package-lock.json
generated
@@ -5,9 +5,9 @@
|
|||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"swagger-ui-dist": {
|
"swagger-ui-dist": {
|
||||||
"version": "3.13.2",
|
"version": "3.17.3",
|
||||||
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.13.2.tgz",
|
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.17.3.tgz",
|
||||||
"integrity": "sha1-EL9SK9J0q2SU0r0Nuvn+2ibbHKI="
|
"integrity": "sha1-37lkCMzEZ3UVX3NpGQxdSyAW/lw="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"swagger-ui-dist": "3.13.2"
|
"swagger-ui-dist": "3.17.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ Gem::Specification.new do |s|
|
|||||||
s.description = "Expose beautiful API documentation, that's powered by Swagger JSON endpoints, including a UI to explore and test operations"
|
s.description = "Expose beautiful API documentation, that's powered by Swagger JSON endpoints, including a UI to explore and test operations"
|
||||||
s.license = "MIT"
|
s.license = "MIT"
|
||||||
|
|
||||||
s.files = Dir["{lib,node_modules}/**/*"] + ["MIT-LICENSE", "Rakefile" ]
|
s.files = Dir.glob("{lib,node_modules}/**/*") + ["MIT-LICENSE", "Rakefile" ]
|
||||||
|
|
||||||
s.add_dependency 'actionpack', '>=3.1', '< 6.0'
|
s.add_dependency 'actionpack', '>=3.1', '< 6.1'
|
||||||
s.add_dependency 'railties', '>= 3.1', '< 6.0'
|
s.add_dependency 'railties', '>= 3.1', '< 6.1'
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,15 +2,15 @@
|
|||||||
# of editing this file, please use the migrations feature of Active Record to
|
# of editing this file, please use the migrations feature of Active Record to
|
||||||
# incrementally modify your database, and then regenerate this schema definition.
|
# incrementally modify your database, and then regenerate this schema definition.
|
||||||
#
|
#
|
||||||
# Note that this schema.rb definition is the authoritative source for your
|
# This file is the source Rails uses to define your schema when running `rails
|
||||||
# database schema. If you need to create the application database on another
|
# db:schema:load`. When creating a new database, `rails db:schema:load` tends to
|
||||||
# system, you should be using db:schema:load, not running all the migrations
|
# be faster and is potentially less error prone than running all of your
|
||||||
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
# migrations from scratch. Old migrations may fail to apply correctly if those
|
||||||
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
# migrations use external dependencies or application code.
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20160218212104) do
|
ActiveRecord::Schema.define(version: 2016_02_18_212104) do
|
||||||
|
|
||||||
create_table "blogs", force: :cascade do |t|
|
create_table "blogs", force: :cascade do |t|
|
||||||
t.string "title"
|
t.string "title"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ require 'rails_helper'
|
|||||||
RSpec.configure do |config|
|
RSpec.configure do |config|
|
||||||
# Specify a root folder where Swagger JSON files are generated
|
# Specify a root folder where Swagger JSON files are generated
|
||||||
# NOTE: If you're using the rswag-api to serve API descriptions, you'll need
|
# NOTE: If you're using the rswag-api to serve API descriptions, you'll need
|
||||||
# to ensure that it's confiugred to server Swagger from the same folder
|
# to ensure that it's configured to serve Swagger from the same folder
|
||||||
config.swagger_root = Rails.root.to_s + '/swagger'
|
config.swagger_root = Rails.root.to_s + '/swagger'
|
||||||
|
|
||||||
# Define one or more Swagger documents and provide global metadata for each one
|
# Define one or more Swagger documents and provide global metadata for each one
|
||||||
|
|||||||
Reference in New Issue
Block a user