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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 37c81ea83e40e5956d5ac04dc91e70b7c82c71a4
4
- data.tar.gz: 426569056ed69c40110d35968089b7bd23ecea7f
3
+ metadata.gz: c6aa9c6c95beaf16c80ee51d0578c483c385683f
4
+ data.tar.gz: 1906b7f8701dc21badcbfc7c0353ef506a289dec
5
5
  SHA512:
6
- metadata.gz: 0b4ddf6150b33d84f1a9a5be2bdc77a4a8471b5d8ea2ecd6d63b8ad1aafe0f86f0cc8a07b9760fad195e57f00dfdb1c7ad7a40994eeb79f45493de2f31833cc2
7
- data.tar.gz: 2ed8b1bb73d1f205d90612770a494d8fd5f463be54c4aa2000df89baa40400b8f8836def7cfa45c1d9ceeb7d778cd761fd1dc19a5cae3c0aaa2f7e177d38d79d
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`. No additional DSL needed. Beside covering rspec tests, documentation may be extended with API controller action comments win `yardoc` style. Documentation is generated in JSON, YAML, HTML, PDF formats.
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
- Add this line to your application's Gemfile:
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
- Or install it yourself as:
18
-
19
- $ gem install reqres_rspec
21
+ ### 2) PDF generator
20
22
 
21
- ### PDF generator
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
- TODO: Write usage instructions here
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
- TODO: Write usage instructions here
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
- TODO: Write usage instructions here
83
+ [![Generated Doc](http://i44.tinypic.com/kda1pw.png)](http://i44.tinypic.com/kda1pw.png)
84
+ [![Generated Doc](http://i39.tinypic.com/2w3p6vl.png)](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 "bundler/gem_tasks"
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
- unless self.example.options.has_key?(:collect_for_doc) && !self.example.options[:collect_for_doc]
14
- if defined?(self.request) && defined?(self.response)
15
- collector.collect(self, self.request, self.response)
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
- title: spec.example.full_description,
55
- description: description,
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
@@ -1,3 +1,3 @@
1
1
  module ReqresRspec
2
- VERSION = '0.0.15'
2
+ VERSION = '0.0.16'
3
3
  end
@@ -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_#{('0000' + (@index).to_s)[-5, 5]}.html")
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
@@ -10,7 +10,7 @@
10
10
  color: #333333;
11
11
  font-family: 'Verdana', 'Droid Sans', sans-serif;
12
12
  font-size: 14px;
13
- padding: 0;
13
+ padding: 15px;
14
14
  margin: 0;
15
15
  }
16
16
  body *{
@@ -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: 0;
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
- <ol>
213
- <% lines = begin
214
- JSON.pretty_generate(
215
- JSON.parse(
216
- @record[:response][:body]
217
- )
218
+ <% lines = begin
219
+ JSON.pretty_generate(
220
+ JSON.parse(
221
+ @record[:response][:body]
218
222
  )
219
- rescue
220
- @record[:response][:body]
221
- end
222
-
223
- lines.split("\n").each do |line| %>
224
- <li><%= line %></li>
225
- <% end %>
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 = "reqres_rspec"
7
+ spec.name = 'reqres_rspec'
8
8
  spec.version = ReqresRspec::VERSION
9
- spec.authors = ["rilian"]
10
- spec.email = ["dmitriyis@gmail.com"]
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 = "https://github.com/reqres-api/reqres_rspec"
14
- spec.license = "MIT"
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 = ["lib"]
19
+ spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
22
- spec.add_development_dependency "rake"
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.15
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: 2013-11-18 00:00:00.000000000 Z
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.0.6
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