reqres_rspec 0.0.15 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +71 -15
- data/Rakefile +1 -1
- data/lib/reqres_rspec.rb +6 -3
- data/lib/reqres_rspec/collector.rb +14 -4
- data/lib/reqres_rspec/version.rb +1 -1
- data/lib/reqres_rspec/writers/html.rb +28 -2
- data/lib/reqres_rspec/writers/templates/header.erb +1 -1
- data/lib/reqres_rspec/writers/templates/index.erb +24 -0
- data/lib/reqres_rspec/writers/templates/panel.erb +108 -0
- data/lib/reqres_rspec/writers/templates/spec.erb +29 -26
- data/reqres_rspec.gemspec +10 -8
- metadata +26 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6aa9c6c95beaf16c80ee51d0578c483c385683f
|
4
|
+
data.tar.gz: 1906b7f8701dc21badcbfc7c0353ef506a289dec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff896169c1336ae45ec127cd22e8c7df6d25c837a3d1781efba46572209a12af74c23da1fd635ce5fa1fd3b88dd5e0e4148aac85fe48912e6d83f03d8021ceaf
|
7
|
+
data.tar.gz: 8ed9a4b7f53867fd4ec4e1d9b199843ce01f7ece0ac864214ab5c569e502706db1e37afc6f1e532c8e53e22c245a99238e51c20f1a886a823803601e747c3f9f
|
data/README.md
CHANGED
@@ -1,28 +1,26 @@
|
|
1
1
|
# ReqresRspec
|
2
2
|
|
3
|
-
Gem generates API documentation from your integration tests written with `rspec`.
|
3
|
+
Gem generates API documentation from your integration tests written with `rspec`.
|
4
|
+
|
5
|
+
No additional DSL needed. Beside covering rspec tests, documentation may be extended with API controller action comments in `yardoc` style.
|
6
|
+
|
7
|
+
Documentation is generated in JSON, YAML, HTML, PDF formats.
|
4
8
|
|
5
9
|
## Installation
|
6
10
|
|
7
|
-
### Gem
|
11
|
+
### 1) Gem
|
8
12
|
|
9
|
-
|
13
|
+
Just add this gem to `Gemfile` of your API Application
|
10
14
|
|
11
|
-
gem 'reqres_rspec'
|
15
|
+
gem 'reqres_rspec', group: :test
|
12
16
|
|
13
17
|
And then execute:
|
14
18
|
|
15
19
|
$ bundle
|
16
20
|
|
17
|
-
|
18
|
-
|
19
|
-
$ gem install reqres_rspec
|
21
|
+
### 2) PDF generator
|
20
22
|
|
21
|
-
|
22
|
-
|
23
|
-
Install `prince` http://www.princexml.com/download/
|
24
|
-
|
25
|
-
For MacOS this will be
|
23
|
+
Install `prince` http://www.princexml.com/download/ . For MacOS installation commands are
|
26
24
|
|
27
25
|
```
|
28
26
|
wget http://www.princexml.com/download/prince-9.0r2-macosx.tar.gz
|
@@ -33,17 +31,75 @@ cd prince-9.0r2-macosx
|
|
33
31
|
|
34
32
|
## Usage
|
35
33
|
|
34
|
+
by default `reqres_rspec` is not active (this may be configured!). To activate it, run `rspec` with
|
35
|
+
|
36
|
+
`REQRES_RSPEC=1 bundle exec rspec`
|
37
|
+
|
38
|
+
Documentation will be put into your application's `/doc` folder
|
39
|
+
|
36
40
|
### Sample controller action
|
37
41
|
|
38
|
-
|
42
|
+
```ruby
|
43
|
+
# @description creates Category from given parameters
|
44
|
+
# description text may be multiline
|
45
|
+
# @params category[title] required String Category title
|
46
|
+
# @params category[weight] in which order Category will be shown
|
47
|
+
# param text may also be multiline
|
48
|
+
def create
|
49
|
+
category = Category.new(create_category_params)
|
50
|
+
|
51
|
+
if category.save
|
52
|
+
render json: { category: category }.to_json, status: 201
|
53
|
+
else
|
54
|
+
render json: { errors: category.errors.full_messages }, status: 422
|
55
|
+
end
|
56
|
+
end
|
57
|
+
```
|
58
|
+
|
59
|
+
Description param text is started with `@description` and may be multiline.
|
60
|
+
Each param text is started with `@params` and first word will be param name, then optionally `required`, then optionally type (`Integer`, `String` etc), and finally param description, which may be multiline as well.
|
39
61
|
|
40
62
|
### Sample rspec test
|
41
63
|
|
42
|
-
|
64
|
+
```ruby
|
65
|
+
describe 'Create' do
|
66
|
+
it 'creates category' do
|
67
|
+
post :create, category: { name: 'Cookies' }
|
68
|
+
...
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'some other example', collect_for_doc: false do
|
72
|
+
...
|
73
|
+
end
|
74
|
+
end
|
75
|
+
```
|
76
|
+
|
77
|
+
By default all examples will be added to docs. Example may be excluded from docs with option `collect_for_doc: false`
|
78
|
+
|
79
|
+
Doc will use full example description, as a title for each separate spec
|
43
80
|
|
44
81
|
### Generates documentation example
|
45
82
|
|
46
|
-
|
83
|
+
[](http://i44.tinypic.com/kda1pw.png)
|
84
|
+
[](http://i39.tinypic.com/2w3p6vl.png)
|
85
|
+
|
86
|
+
Documentation is written in HTML format, which then converted to PDF. PDF files are textual, support search and have internal navigation links
|
87
|
+
|
88
|
+
## Configuration
|
89
|
+
|
90
|
+
TODO: Write instruction on gem configuration
|
91
|
+
|
92
|
+
## Future plans
|
93
|
+
|
94
|
+
1) Write documentation in YAML, JSON formats
|
95
|
+
|
96
|
+
2) Add configuration (folders with API specs, default generate spec for all examples, or opt-in generation)
|
97
|
+
|
98
|
+
3) Cover with tests
|
99
|
+
|
100
|
+
4) Remove dependency on `rails`
|
101
|
+
|
102
|
+
5) Add demo for `Rails`, `Rails API`, `Sinatra`
|
47
103
|
|
48
104
|
## Contributing
|
49
105
|
|
data/Rakefile
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require
|
1
|
+
require 'bundler/gem_tasks'
|
data/lib/reqres_rspec.rb
CHANGED
@@ -10,9 +10,12 @@ if defined?(RSpec) && ENV['REQRES_RSPEC'] == '1'
|
|
10
10
|
config.after(:each) do
|
11
11
|
# TODO: remove boilerplate code
|
12
12
|
# TODO: better options
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
meta_data = self.class.example.metadata
|
14
|
+
if meta_data[:type] == :request
|
15
|
+
begin
|
16
|
+
collector.collect(self, self.request, self.response) unless meta_data[:skip_reqres] == true
|
17
|
+
rescue NameError
|
18
|
+
raise $!
|
16
19
|
end
|
17
20
|
end
|
18
21
|
end
|
@@ -50,9 +50,17 @@ module ReqresRspec
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
+
ex_gr = spec.class.example.metadata[:example_group]
|
54
|
+
section = ex_gr[:description]
|
55
|
+
while !ex_gr.nil? do
|
56
|
+
section = ex_gr[:description]
|
57
|
+
ex_gr = ex_gr[:parent_example_group]
|
58
|
+
end
|
59
|
+
|
53
60
|
self.records << {
|
54
|
-
|
55
|
-
|
61
|
+
group: section, # Top level example group
|
62
|
+
title: spec.class.example.full_description,
|
63
|
+
description: spec.class.description,
|
56
64
|
params: params,
|
57
65
|
request_path: get_symbolized_path(request),
|
58
66
|
request: {
|
@@ -155,8 +163,10 @@ module ReqresRspec
|
|
155
163
|
|
156
164
|
comment_lines.reverse
|
157
165
|
else
|
158
|
-
'not found'
|
166
|
+
['not found']
|
159
167
|
end
|
168
|
+
rescue Errno::ENOENT
|
169
|
+
['not found']
|
160
170
|
end
|
161
171
|
|
162
172
|
# returns description action comments
|
@@ -217,4 +227,4 @@ module ReqresRspec
|
|
217
227
|
params
|
218
228
|
end
|
219
229
|
end
|
220
|
-
end
|
230
|
+
end
|
data/lib/reqres_rspec/version.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'coderay'
|
2
|
+
|
1
3
|
module ReqresRspec
|
2
4
|
module Writers
|
3
5
|
class Html
|
@@ -10,6 +12,9 @@ module ReqresRspec
|
|
10
12
|
cleanup
|
11
13
|
generate_header
|
12
14
|
generate_specs
|
15
|
+
|
16
|
+
append_index
|
17
|
+
append_panel
|
13
18
|
end
|
14
19
|
|
15
20
|
private
|
@@ -27,6 +32,8 @@ module ReqresRspec
|
|
27
32
|
# TODO: more info
|
28
33
|
def cleanup
|
29
34
|
FileUtils.rm_rf(Dir.glob("#{Rails.root}/doc/rspec_doc_*.html"), secure: true)
|
35
|
+
FileUtils.rm_rf(Dir.glob("#{Rails.root}/doc/index.html"), secure: true)
|
36
|
+
FileUtils.rm_rf(Dir.glob("#{Rails.root}/doc/panel.html"), secure: true)
|
30
37
|
end
|
31
38
|
|
32
39
|
# generates contents of HTML docs
|
@@ -53,13 +60,32 @@ module ReqresRspec
|
|
53
60
|
|
54
61
|
rendered_doc = ERB.new(File.open(tpl_path).read).result(binding)
|
55
62
|
|
56
|
-
path = File.join(Rails.root, 'doc', "rspec_doc_#{
|
63
|
+
path = File.join(Rails.root, 'doc', "rspec_doc_#{@index.to_s.rjust(5, '0') }.html")
|
57
64
|
file = File.open(path, 'w')
|
58
65
|
file.write(rendered_doc)
|
59
66
|
file.close
|
60
67
|
puts "Reqres::Writers::Html saved doc spec to #{path}"
|
61
68
|
end
|
62
69
|
end
|
70
|
+
|
71
|
+
# creates an index file with iframes if does not exists
|
72
|
+
def append_index
|
73
|
+
index_file = File.join(Rails.root, 'doc', 'index.html')
|
74
|
+
unless File.exists?(index_file)
|
75
|
+
tpl_path = File.join(File.dirname(__FILE__), 'templates', 'index.erb')
|
76
|
+
rendered_doc = ERB.new(File.open(tpl_path).read).result(binding)
|
77
|
+
File.write index_file, rendered_doc
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def append_panel
|
82
|
+
index_file = File.join(Rails.root, 'doc', 'panel.html')
|
83
|
+
unless File.exists?(index_file)
|
84
|
+
tpl_path = File.join(File.dirname(__FILE__), 'templates', 'panel.erb')
|
85
|
+
rendered_doc = ERB.new(File.open(tpl_path).read).result(binding)
|
86
|
+
File.write index_file, rendered_doc
|
87
|
+
end
|
88
|
+
end
|
63
89
|
end
|
64
90
|
end
|
65
|
-
end
|
91
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title><%= Rails.application.class.to_s.sub('::Application', '') %> API Documentation</title>
|
5
|
+
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
|
6
|
+
<link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' type='text/css'>
|
7
|
+
<link href='http://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
|
8
|
+
<style type="text/css">
|
9
|
+
body {
|
10
|
+
margin:0;
|
11
|
+
padding:0;
|
12
|
+
border:0;
|
13
|
+
width:100%;
|
14
|
+
background:#fff;
|
15
|
+
min-width:600px;
|
16
|
+
font-size:90%;
|
17
|
+
}
|
18
|
+
</style>
|
19
|
+
</head>
|
20
|
+
<frameset cols="350,*" frameborder="1" border="1" bordercolor="#999999" framespacing="1">
|
21
|
+
<frame name="panel" src="./panel.html">
|
22
|
+
<frame name="specs" src="./rspec_doc_00000.html">
|
23
|
+
</frameset>
|
24
|
+
</html>
|
@@ -0,0 +1,108 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title><%= Rails.application.class.to_s.sub('::Application', '') %> API Documentation</title>
|
5
|
+
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
|
6
|
+
<link href='http://fonts.googleapis.com/css?family=Droid+Sans:400,700' rel='stylesheet' type='text/css'>
|
7
|
+
<link href='http://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
|
8
|
+
<style type="text/css">
|
9
|
+
body {
|
10
|
+
color: #333333;
|
11
|
+
font-family: 'Verdana', 'Droid Sans', sans-serif;
|
12
|
+
font-size: 12px;
|
13
|
+
padding: 0;
|
14
|
+
margin: 0;
|
15
|
+
}
|
16
|
+
body *{
|
17
|
+
-webkit-box-sizing: border-box;
|
18
|
+
-moz-box-sizing: border-box;
|
19
|
+
box-sizing: border-box;
|
20
|
+
}
|
21
|
+
h1, h2, h3 {
|
22
|
+
padding: 10px 5px;
|
23
|
+
margin: 0;
|
24
|
+
background: #dedede;
|
25
|
+
}
|
26
|
+
h1 {
|
27
|
+
font-size: 1.5em;
|
28
|
+
}
|
29
|
+
h2 {
|
30
|
+
font-size: 1.3em;
|
31
|
+
padding-bottom:5px;
|
32
|
+
}
|
33
|
+
h3 {
|
34
|
+
font-size: 0.95em;
|
35
|
+
padding-bottom:0px;
|
36
|
+
}
|
37
|
+
ul, ul li {
|
38
|
+
list-style-type: none;
|
39
|
+
padding:0px;
|
40
|
+
margin:0px;
|
41
|
+
}
|
42
|
+
ul li {
|
43
|
+
border-bottom:1px solid lightgray;
|
44
|
+
background: #fefefe;
|
45
|
+
}
|
46
|
+
ul li:first-child {
|
47
|
+
border-top:1px solid lightgray;
|
48
|
+
}
|
49
|
+
ul li:nth-child(2n+1) {
|
50
|
+
background: #eeeeee;
|
51
|
+
}
|
52
|
+
ul li a {
|
53
|
+
padding:5px;
|
54
|
+
display: block;
|
55
|
+
}
|
56
|
+
ul li a:hover {
|
57
|
+
background: #dedede;
|
58
|
+
}
|
59
|
+
a {
|
60
|
+
color: #1d96d2;
|
61
|
+
text-decoration: none;
|
62
|
+
}
|
63
|
+
span.method {
|
64
|
+
border-radius: 3px;
|
65
|
+
background-color: darkgray;
|
66
|
+
color: white;
|
67
|
+
padding: 3px;
|
68
|
+
font-size: 90%;
|
69
|
+
width: 56px;
|
70
|
+
display: inline-block;
|
71
|
+
text-align: center;
|
72
|
+
}
|
73
|
+
span.method.get {
|
74
|
+
background-color: darkgreen;
|
75
|
+
}
|
76
|
+
span.method.post {
|
77
|
+
background-color: darkorange;
|
78
|
+
}
|
79
|
+
span.method.put, span.method.patch {
|
80
|
+
background-color: darkorange;
|
81
|
+
}
|
82
|
+
span.method.delete {
|
83
|
+
background-color: darkred;
|
84
|
+
}
|
85
|
+
</style>
|
86
|
+
</head>
|
87
|
+
<body>
|
88
|
+
<h1><a href="rspec_doc_00000.html" target="specs">
|
89
|
+
<%= Rails.application.class.to_s.sub('::Application', '') %> API
|
90
|
+
</a></h1>
|
91
|
+
<% @records.group_by{|h| h[:group]}.each do |group, items| %>
|
92
|
+
<h2><%= group %></h2>
|
93
|
+
<% items.group_by{|h| h[:request_path]}.each do |path, records| %>
|
94
|
+
<h3><%= path %></h3>
|
95
|
+
<ul>
|
96
|
+
<% records.each_with_index do |record, index| %>
|
97
|
+
<li>
|
98
|
+
<a href="rspec_doc_<%= (index + 1).to_s.rjust(5, '0') %>.html" target="specs">
|
99
|
+
<span class="method <%= record[:request][:method].downcase %>"><%= record[:request][:method] %></span>
|
100
|
+
<%= record[:description] %><br />
|
101
|
+
</a>
|
102
|
+
</li>
|
103
|
+
<% end %>
|
104
|
+
</ul>
|
105
|
+
<% end %>
|
106
|
+
<% end %>
|
107
|
+
</body>
|
108
|
+
</html>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
color: #333333;
|
11
11
|
font-family: 'Verdana', 'Droid Sans', sans-serif;
|
12
12
|
font-size: 14px;
|
13
|
-
padding:
|
13
|
+
padding: 15px;
|
14
14
|
margin: 0;
|
15
15
|
}
|
16
16
|
body *{
|
@@ -66,7 +66,7 @@
|
|
66
66
|
border-radius: 4px;
|
67
67
|
overflow: hidden;
|
68
68
|
}
|
69
|
-
table{
|
69
|
+
table.params{
|
70
70
|
width: 100%;
|
71
71
|
font-size: 1em;
|
72
72
|
padding: 0;
|
@@ -74,29 +74,29 @@
|
|
74
74
|
border-collapse: collapse;
|
75
75
|
border-spacing: 0px;
|
76
76
|
}
|
77
|
-
tr{
|
77
|
+
table.params tr{
|
78
78
|
border-top: 1px solid #cccccc;
|
79
79
|
}
|
80
|
-
tr:first-child{
|
80
|
+
table.params tr:first-child{
|
81
81
|
border-top: 0
|
82
82
|
}
|
83
|
-
th, td{
|
83
|
+
table.params th, td{
|
84
84
|
margin: 0;
|
85
85
|
padding: 5px 8px;
|
86
86
|
text-align: left;
|
87
87
|
border-left: 1px solid #cccccc;
|
88
88
|
font-size: 1em;
|
89
89
|
}
|
90
|
-
th:first-child, td:first-child{
|
90
|
+
table.params th:first-child, td:first-child{
|
91
91
|
border-left: 0;
|
92
92
|
}
|
93
|
-
td{
|
93
|
+
table.params td{
|
94
94
|
background: #f9f9f9;
|
95
95
|
}
|
96
|
-
tr:nth-child(2n+1) td{
|
96
|
+
table.params tr:nth-child(2n+1) td{
|
97
97
|
background: #ffffff;
|
98
98
|
}
|
99
|
-
td i{
|
99
|
+
table.params td i{
|
100
100
|
font-style: normal;
|
101
101
|
font-weight: 300;
|
102
102
|
float: right;
|
@@ -122,6 +122,12 @@
|
|
122
122
|
font-weight: 400;
|
123
123
|
font-style: normal;
|
124
124
|
}
|
125
|
+
.CodeRay td {
|
126
|
+
width: 99%;
|
127
|
+
}
|
128
|
+
.CodeRay td.line-numbers {
|
129
|
+
width: 1%;
|
130
|
+
}
|
125
131
|
ol{
|
126
132
|
margin: 0 0 10px 0;
|
127
133
|
padding: 0 10px 0 50px;
|
@@ -155,7 +161,7 @@
|
|
155
161
|
<% if @record[:params].size > 0 %>
|
156
162
|
<h5>Parameters</h5>
|
157
163
|
<div class="table">
|
158
|
-
<table>
|
164
|
+
<table class="params">
|
159
165
|
<tr>
|
160
166
|
<th>Name</th>
|
161
167
|
<th>Type</th>
|
@@ -183,7 +189,7 @@
|
|
183
189
|
<code><%= @record[:request][:method] %> <%= @record[:request][:path] %></code>
|
184
190
|
|
185
191
|
<h5>Query parameters</h5>
|
186
|
-
<code><%= @record[:request][:query_parameters] %></code>
|
192
|
+
<code><%= @record[:request][:query_parameters] if @record[:request][:method] == 'GET' %></code>
|
187
193
|
|
188
194
|
<h5><a href="http://curl.haxx.se/docs/manpage.html">CURL</a> Example</h5>
|
189
195
|
<code>TODO</code>
|
@@ -192,7 +198,7 @@
|
|
192
198
|
<h5>Body</h5>
|
193
199
|
<ol>
|
194
200
|
<% @record[:request][:body].split("\n").each do |line| %>
|
195
|
-
<li><%= line %></li>
|
201
|
+
<li style="word-break:&;"><%= line %></li>
|
196
202
|
<% end %>
|
197
203
|
</ol>
|
198
204
|
<% end %>
|
@@ -209,21 +215,18 @@
|
|
209
215
|
|
210
216
|
<% if @record[:response][:body].present? %>
|
211
217
|
<h5>Body</h5>
|
212
|
-
|
213
|
-
|
214
|
-
JSON.
|
215
|
-
|
216
|
-
@record[:response][:body]
|
217
|
-
)
|
218
|
+
<% lines = begin
|
219
|
+
JSON.pretty_generate(
|
220
|
+
JSON.parse(
|
221
|
+
@record[:response][:body]
|
218
222
|
)
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
</ol>
|
223
|
+
)
|
224
|
+
rescue
|
225
|
+
@record[:response][:body]
|
226
|
+
end %>
|
227
|
+
<code>
|
228
|
+
<%= CodeRay.scan(lines, :json).div(line_numbers: :table) %>
|
229
|
+
</code>
|
227
230
|
<% end %>
|
228
231
|
</div>
|
229
232
|
</body>
|
data/reqres_rspec.gemspec
CHANGED
@@ -4,20 +4,22 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'reqres_rspec/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'reqres_rspec'
|
8
8
|
spec.version = ReqresRspec::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
9
|
+
spec.authors = ['rilian']
|
10
|
+
spec.email = ['dmitriyis@gmail.com']
|
11
11
|
spec.description = %q{Generates API documentation in PDF, HTML, JSON, YAML format for integration tests written with RSpec}
|
12
12
|
spec.summary = %q{Generates API documentation in PDF, HTML, JSON, YAML format for integration tests written with RSpec}
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
13
|
+
spec.homepage = 'https://github.com/reqres-api/reqres_rspec'
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = [
|
19
|
+
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.
|
22
|
-
|
21
|
+
spec.add_dependency 'coderay'
|
22
|
+
|
23
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
24
|
+
spec.add_development_dependency 'rake'
|
23
25
|
end
|
metadata
CHANGED
@@ -1,41 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reqres_rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- rilian
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: coderay
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- - ~>
|
31
|
+
- - "~>"
|
18
32
|
- !ruby/object:Gem::Version
|
19
33
|
version: '1.3'
|
20
34
|
type: :development
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- - ~>
|
38
|
+
- - "~>"
|
25
39
|
- !ruby/object:Gem::Version
|
26
40
|
version: '1.3'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- -
|
45
|
+
- - ">="
|
32
46
|
- !ruby/object:Gem::Version
|
33
47
|
version: '0'
|
34
48
|
type: :development
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- -
|
52
|
+
- - ">="
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '0'
|
41
55
|
description: Generates API documentation in PDF, HTML, JSON, YAML format for integration
|
@@ -46,7 +60,7 @@ executables: []
|
|
46
60
|
extensions: []
|
47
61
|
extra_rdoc_files: []
|
48
62
|
files:
|
49
|
-
- .gitignore
|
63
|
+
- ".gitignore"
|
50
64
|
- Gemfile
|
51
65
|
- LICENSE.txt
|
52
66
|
- README.md
|
@@ -57,6 +71,8 @@ files:
|
|
57
71
|
- lib/reqres_rspec/version.rb
|
58
72
|
- lib/reqres_rspec/writers/html.rb
|
59
73
|
- lib/reqres_rspec/writers/templates/header.erb
|
74
|
+
- lib/reqres_rspec/writers/templates/index.erb
|
75
|
+
- lib/reqres_rspec/writers/templates/panel.erb
|
60
76
|
- lib/reqres_rspec/writers/templates/spec.erb
|
61
77
|
- reqres_rspec.gemspec
|
62
78
|
homepage: https://github.com/reqres-api/reqres_rspec
|
@@ -69,17 +85,17 @@ require_paths:
|
|
69
85
|
- lib
|
70
86
|
required_ruby_version: !ruby/object:Gem::Requirement
|
71
87
|
requirements:
|
72
|
-
- -
|
88
|
+
- - ">="
|
73
89
|
- !ruby/object:Gem::Version
|
74
90
|
version: '0'
|
75
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
92
|
requirements:
|
77
|
-
- -
|
93
|
+
- - ">="
|
78
94
|
- !ruby/object:Gem::Version
|
79
95
|
version: '0'
|
80
96
|
requirements: []
|
81
97
|
rubyforge_project:
|
82
|
-
rubygems_version: 2.
|
98
|
+
rubygems_version: 2.2.2
|
83
99
|
signing_key:
|
84
100
|
specification_version: 4
|
85
101
|
summary: Generates API documentation in PDF, HTML, JSON, YAML format for integration
|