apipie-rails 0.5.17 → 0.5.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/build.yml +40 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +23 -0
- data/Gemfile +1 -1
- data/README.rst +5 -5
- data/config/locales/pt-BR.yml +1 -1
- data/{Gemfile.rails42 → gemfiles/Gemfile.rails42} +2 -2
- data/gemfiles/Gemfile.rails42.lock +160 -0
- data/gemfiles/Gemfile.rails52 +9 -0
- data/gemfiles/Gemfile.rails60 +10 -0
- data/gemfiles/Gemfile.rails61 +10 -0
- data/lib/apipie/extractor/recorder.rb +2 -2
- data/lib/apipie/markup.rb +14 -11
- data/lib/apipie/validator.rb +1 -1
- data/lib/apipie/version.rb +1 -1
- data/lib/tasks/apipie.rake +14 -9
- data/rel-eng/gem_release.ipynb +398 -0
- data/spec/support/rails-42-ruby-26.rb +15 -0
- metadata +15 -13
- data/.travis.yml +0 -28
- data/Gemfile.rails41 +0 -7
- data/Gemfile.rails50 +0 -9
- data/Gemfile.rails51 +0 -9
- data/Gemfile.rails60 +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f03c36e5a39960d1394d5c46fbda7dc5b95394860b31e9850746b35cf54069d2
|
4
|
+
data.tar.gz: ef86bead84c3da5b9f51f2064ea9572b04c8bc1dc361f82a2c074d6b895ea57b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a6fc972abb448496bbed54576bb6afceeda7aa555caa2836134435b6047c9dccd0b0b5f9d4256301ee06954f850fc84e1dee0b8b615428ca3029cb302f4be18
|
7
|
+
data.tar.gz: 541f09ee30bd58ef7a88da099d68cb095ad3c0e1929bb9fe75d1f41320daf7188161b2bcdfe36a1017e81777f0cf181c1253be4cf53878acf7291f6c3974463f
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
+
|
8
|
+
name: build
|
9
|
+
|
10
|
+
on: [push, pull_request]
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
test:
|
14
|
+
runs-on: ubuntu-20.04
|
15
|
+
strategy:
|
16
|
+
fail-fast: false
|
17
|
+
matrix:
|
18
|
+
ruby:
|
19
|
+
- 2.7
|
20
|
+
- 2.6
|
21
|
+
gemfile:
|
22
|
+
- Gemfile.rails42
|
23
|
+
- Gemfile.rails52 # Min ruby 2.2.2
|
24
|
+
- Gemfile.rails60 # Min ruby 2.5.0
|
25
|
+
- Gemfile.rails61 # Min ruby 2.5.0
|
26
|
+
exclude:
|
27
|
+
- gemfile: Gemfile.rails42
|
28
|
+
ruby: 2.7
|
29
|
+
- gemfile: Gemfile.rails52
|
30
|
+
ruby: 2.7
|
31
|
+
|
32
|
+
env:
|
33
|
+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}
|
34
|
+
steps:
|
35
|
+
- uses: actions/checkout@v2
|
36
|
+
- uses: ruby/setup-ruby@v1
|
37
|
+
with:
|
38
|
+
ruby-version: ${{ matrix.ruby }}
|
39
|
+
bundler-cache: true
|
40
|
+
- run: bundle exec rspec
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,28 @@
|
|
1
1
|
Changelog
|
2
2
|
===========
|
3
|
+
## [v0.5.20](https://github.com/Apipie/apipie-rails/tree/v0.5.20) (2022-03-16)
|
4
|
+
[Full Changelog](https://github.com/Apipie/apipie-rails/compare/v0.5.19...v0.5.20)
|
5
|
+
* Update rel-eng (Oleh Fedorenko)
|
6
|
+
* Deprecate travis, run tests on github actions [#740](https://github.com/Apipie/apipie-rails/pull/740) (Mathieu Jobin)
|
7
|
+
* Update validator.rb [#739](https://github.com/Apipie/apipie-rails/pull/739) (Dmytro Budnyk)
|
8
|
+
* Fix wrong number of arguments for recorder#process [#725](https://github.com/Apipie/apipie-rails/pull/725) (rob mathews)
|
9
|
+
* Change "an" to "a" [#723](https://github.com/Apipie/apipie-rails/pull/723) (Naokimi)
|
10
|
+
|
11
|
+
## [v0.5.19](https://github.com/Apipie/apipie-rails/tree/v0.5.19) (2021-07-25)
|
12
|
+
[Full Changelog](https://github.com/Apipie/apipie-rails/compare/v0.5.18...v0.5.19)
|
13
|
+
* Add rel-eng notebook (Oleh Fedorenko)
|
14
|
+
* Correct the word parâmentros for brazilian portuguese [#687](https://github.com/Apipie/apipie-rails/pull/687) (Diego Noronha)
|
15
|
+
* Fix depreciated file.exists. [#721](https://github.com/Apipie/apipie-rails/pull/721) (Diane Delallée)
|
16
|
+
* Fix typo in changelog [#703](https://github.com/Apipie/apipie-rails/pull/703) (Pavel Rodionov)
|
17
|
+
* Add rails 6.1 support in doc generation [#702](https://github.com/Apipie/apipie-rails/pull/702) (andrew-newell)
|
18
|
+
|
19
|
+
|
20
|
+
[v0.5.18](https://github.com/Apipie/apipie-rails/tree/v0.5.18) (2020-05-20)
|
21
|
+
--------
|
22
|
+
|
23
|
+
[Full Changelog](https://github.com/Apipie/apipie-rails/compare/v0.5.17...v0.5.18)
|
24
|
+
|
25
|
+
- Optional rdoc dependency with lazyload [\#683](https://github.com/Apipie/apipie-rails/pull/683) ([vkrizan](https://github.com/vkrizan))
|
3
26
|
|
4
27
|
[v0.5.17](https://github.com/Apipie/apipie-rails/tree/v0.5.17) (2020-01-20)
|
5
28
|
--------
|
data/Gemfile
CHANGED
@@ -1 +1 @@
|
|
1
|
-
./Gemfile.
|
1
|
+
./Gemfile.rails61
|
data/README.rst
CHANGED
@@ -387,20 +387,20 @@ Example:
|
|
387
387
|
end
|
388
388
|
end
|
389
389
|
|
390
|
-
api :POST, "/users", "Create
|
390
|
+
api :POST, "/users", "Create a user"
|
391
391
|
param_group :user
|
392
392
|
def create
|
393
393
|
# ...
|
394
394
|
end
|
395
395
|
|
396
|
-
api :PUT, "/users/:id", "Update
|
396
|
+
api :PUT, "/users/:id", "Update a user"
|
397
397
|
param_group :user
|
398
398
|
def update
|
399
399
|
# ...
|
400
400
|
end
|
401
401
|
|
402
402
|
# v2/users_controller.rb
|
403
|
-
api :POST, "/users", "Create
|
403
|
+
api :POST, "/users", "Create a user"
|
404
404
|
param_group :user, V1::UsersController
|
405
405
|
def create
|
406
406
|
# ...
|
@@ -434,7 +434,7 @@ Example
|
|
434
434
|
end
|
435
435
|
end
|
436
436
|
|
437
|
-
api :POST, "/users", "Create
|
437
|
+
api :POST, "/users", "Create a user"
|
438
438
|
param_group :user
|
439
439
|
def create
|
440
440
|
# ...
|
@@ -446,7 +446,7 @@ Example
|
|
446
446
|
# ...
|
447
447
|
end
|
448
448
|
|
449
|
-
api :PUT, "/users/:id", "Update
|
449
|
+
api :PUT, "/users/:id", "Update a user"
|
450
450
|
param_group :user
|
451
451
|
def update
|
452
452
|
# ...
|
data/config/locales/pt-BR.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
2
|
|
3
|
-
gemspec
|
3
|
+
gemspec path: '..'
|
4
4
|
|
5
5
|
gem 'rails', '~> 4.2.5'
|
6
6
|
gem 'mime-types', '~> 2.99.3'
|
@@ -11,4 +11,4 @@ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.1.0')
|
|
11
11
|
gem 'rdoc', '~> 4.2.2'
|
12
12
|
end
|
13
13
|
|
14
|
-
gem 'test_engine', path: 'spec/dummy/components/test_engine', group: :test
|
14
|
+
gem 'test_engine', path: '../spec/dummy/components/test_engine', group: :test
|
@@ -0,0 +1,160 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ../spec/dummy/components/test_engine
|
3
|
+
specs:
|
4
|
+
test_engine (0.0.1)
|
5
|
+
|
6
|
+
PATH
|
7
|
+
remote: ..
|
8
|
+
specs:
|
9
|
+
apipie-rails (0.5.19)
|
10
|
+
rails (>= 4.1)
|
11
|
+
|
12
|
+
GEM
|
13
|
+
remote: https://rubygems.org/
|
14
|
+
specs:
|
15
|
+
RedCloth (4.3.2)
|
16
|
+
actionmailer (4.2.11.3)
|
17
|
+
actionpack (= 4.2.11.3)
|
18
|
+
actionview (= 4.2.11.3)
|
19
|
+
activejob (= 4.2.11.3)
|
20
|
+
mail (~> 2.5, >= 2.5.4)
|
21
|
+
rails-dom-testing (~> 1.0, >= 1.0.5)
|
22
|
+
actionpack (4.2.11.3)
|
23
|
+
actionview (= 4.2.11.3)
|
24
|
+
activesupport (= 4.2.11.3)
|
25
|
+
rack (~> 1.6)
|
26
|
+
rack-test (~> 0.6.2)
|
27
|
+
rails-dom-testing (~> 1.0, >= 1.0.5)
|
28
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
29
|
+
actionview (4.2.11.3)
|
30
|
+
activesupport (= 4.2.11.3)
|
31
|
+
builder (~> 3.1)
|
32
|
+
erubis (~> 2.7.0)
|
33
|
+
rails-dom-testing (~> 1.0, >= 1.0.5)
|
34
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
35
|
+
activejob (4.2.11.3)
|
36
|
+
activesupport (= 4.2.11.3)
|
37
|
+
globalid (>= 0.3.0)
|
38
|
+
activemodel (4.2.11.3)
|
39
|
+
activesupport (= 4.2.11.3)
|
40
|
+
builder (~> 3.1)
|
41
|
+
activerecord (4.2.11.3)
|
42
|
+
activemodel (= 4.2.11.3)
|
43
|
+
activesupport (= 4.2.11.3)
|
44
|
+
arel (~> 6.0)
|
45
|
+
activesupport (4.2.11.3)
|
46
|
+
i18n (~> 0.7)
|
47
|
+
minitest (~> 5.1)
|
48
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
49
|
+
tzinfo (~> 1.1)
|
50
|
+
addressable (2.8.0)
|
51
|
+
public_suffix (>= 2.0.2, < 5.0)
|
52
|
+
arel (6.0.4)
|
53
|
+
builder (3.2.4)
|
54
|
+
concurrent-ruby (1.1.9)
|
55
|
+
crass (1.0.6)
|
56
|
+
diff-lcs (1.5.0)
|
57
|
+
erubis (2.7.0)
|
58
|
+
globalid (0.4.2)
|
59
|
+
activesupport (>= 4.2.0)
|
60
|
+
i18n (0.9.5)
|
61
|
+
concurrent-ruby (~> 1.0)
|
62
|
+
json-schema (2.8.1)
|
63
|
+
addressable (>= 2.4)
|
64
|
+
loofah (2.13.0)
|
65
|
+
crass (~> 1.0.2)
|
66
|
+
nokogiri (>= 1.5.9)
|
67
|
+
mail (2.7.1)
|
68
|
+
mini_mime (>= 0.1.1)
|
69
|
+
maruku (0.7.3)
|
70
|
+
mime-types (2.99.3)
|
71
|
+
mini_mime (1.1.2)
|
72
|
+
mini_portile2 (2.7.1)
|
73
|
+
minitest (5.15.0)
|
74
|
+
nokogiri (1.13.1)
|
75
|
+
mini_portile2 (~> 2.7.0)
|
76
|
+
racc (~> 1.4)
|
77
|
+
psych (4.0.3)
|
78
|
+
stringio
|
79
|
+
public_suffix (4.0.6)
|
80
|
+
racc (1.6.0)
|
81
|
+
rack (1.6.13)
|
82
|
+
rack-test (0.6.3)
|
83
|
+
rack (>= 1.0)
|
84
|
+
rails (4.2.11.3)
|
85
|
+
actionmailer (= 4.2.11.3)
|
86
|
+
actionpack (= 4.2.11.3)
|
87
|
+
actionview (= 4.2.11.3)
|
88
|
+
activejob (= 4.2.11.3)
|
89
|
+
activemodel (= 4.2.11.3)
|
90
|
+
activerecord (= 4.2.11.3)
|
91
|
+
activesupport (= 4.2.11.3)
|
92
|
+
bundler (>= 1.3.0, < 2.0)
|
93
|
+
railties (= 4.2.11.3)
|
94
|
+
sprockets-rails
|
95
|
+
rails-deprecated_sanitizer (1.0.4)
|
96
|
+
activesupport (>= 4.2.0.alpha)
|
97
|
+
rails-dom-testing (1.0.9)
|
98
|
+
activesupport (>= 4.2.0, < 5.0)
|
99
|
+
nokogiri (~> 1.6)
|
100
|
+
rails-deprecated_sanitizer (>= 1.0.1)
|
101
|
+
rails-html-sanitizer (1.4.2)
|
102
|
+
loofah (~> 2.3)
|
103
|
+
railties (4.2.11.3)
|
104
|
+
actionpack (= 4.2.11.3)
|
105
|
+
activesupport (= 4.2.11.3)
|
106
|
+
rake (>= 0.8.7)
|
107
|
+
thor (>= 0.18.1, < 2.0)
|
108
|
+
rake (13.0.6)
|
109
|
+
rdoc (6.4.0)
|
110
|
+
psych (>= 4.0.0)
|
111
|
+
rspec-core (3.9.3)
|
112
|
+
rspec-support (~> 3.9.3)
|
113
|
+
rspec-expectations (3.9.4)
|
114
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
115
|
+
rspec-support (~> 3.9.0)
|
116
|
+
rspec-mocks (3.9.1)
|
117
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
118
|
+
rspec-support (~> 3.9.0)
|
119
|
+
rspec-rails (3.9.1)
|
120
|
+
actionpack (>= 3.0)
|
121
|
+
activesupport (>= 3.0)
|
122
|
+
railties (>= 3.0)
|
123
|
+
rspec-core (~> 3.9.0)
|
124
|
+
rspec-expectations (~> 3.9.0)
|
125
|
+
rspec-mocks (~> 3.9.0)
|
126
|
+
rspec-support (~> 3.9.0)
|
127
|
+
rspec-support (3.9.4)
|
128
|
+
sprockets (4.0.2)
|
129
|
+
concurrent-ruby (~> 1.0)
|
130
|
+
rack (> 1, < 3)
|
131
|
+
sprockets-rails (3.2.2)
|
132
|
+
actionpack (>= 4.0)
|
133
|
+
activesupport (>= 4.0)
|
134
|
+
sprockets (>= 3.0.0)
|
135
|
+
sqlite3 (1.3.13)
|
136
|
+
stringio (3.0.1)
|
137
|
+
thor (1.2.1)
|
138
|
+
thread_safe (0.3.6)
|
139
|
+
tzinfo (1.2.9)
|
140
|
+
thread_safe (~> 0.1)
|
141
|
+
|
142
|
+
PLATFORMS
|
143
|
+
ruby
|
144
|
+
|
145
|
+
DEPENDENCIES
|
146
|
+
RedCloth
|
147
|
+
apipie-rails!
|
148
|
+
json-schema (~> 2.8)
|
149
|
+
maruku
|
150
|
+
mime-types (~> 2.99.3)
|
151
|
+
minitest
|
152
|
+
rails (~> 4.2.5)
|
153
|
+
rake
|
154
|
+
rdoc
|
155
|
+
rspec-rails (~> 3.0)
|
156
|
+
sqlite3 (~> 1.3.6)
|
157
|
+
test_engine!
|
158
|
+
|
159
|
+
BUNDLED WITH
|
160
|
+
1.17.3
|
@@ -150,8 +150,8 @@ module Apipie
|
|
150
150
|
end
|
151
151
|
|
152
152
|
module FunctionalTestRecording
|
153
|
-
def process(
|
154
|
-
ret = super
|
153
|
+
def process(*, **) # action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
|
154
|
+
ret = super
|
155
155
|
if Apipie.configuration.record
|
156
156
|
Apipie::Extractor.call_recorder.analyze_functional_test(self)
|
157
157
|
Apipie::Extractor.call_finished
|
data/lib/apipie/markup.rb
CHANGED
@@ -4,20 +4,23 @@ module Apipie
|
|
4
4
|
|
5
5
|
class RDoc
|
6
6
|
|
7
|
-
def initialize
|
8
|
-
require 'rdoc'
|
9
|
-
require 'rdoc/markup/to_html'
|
10
|
-
if Gem::Version.new(::RDoc::VERSION) < Gem::Version.new('4.0.0')
|
11
|
-
@rdoc ||= ::RDoc::Markup::ToHtml.new()
|
12
|
-
else
|
13
|
-
@rdoc ||= ::RDoc::Markup::ToHtml.new(::RDoc::Options.new)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
7
|
def to_html(text)
|
18
|
-
|
8
|
+
rdoc.convert(text)
|
19
9
|
end
|
20
10
|
|
11
|
+
private
|
12
|
+
|
13
|
+
def rdoc
|
14
|
+
@rdoc ||= begin
|
15
|
+
require 'rdoc'
|
16
|
+
require 'rdoc/markup/to_html'
|
17
|
+
if Gem::Version.new(::RDoc::VERSION) < Gem::Version.new('4.0.0')
|
18
|
+
::RDoc::Markup::ToHtml.new()
|
19
|
+
else
|
20
|
+
::RDoc::Markup::ToHtml.new(::RDoc::Options.new)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
21
24
|
end
|
22
25
|
|
23
26
|
class Markdown
|
data/lib/apipie/validator.rb
CHANGED
data/lib/apipie/version.rb
CHANGED
data/lib/tasks/apipie.rake
CHANGED
@@ -172,7 +172,12 @@ namespace :apipie do
|
|
172
172
|
layouts_paths = [File.expand_path("../../../app/views/layouts", __FILE__)]
|
173
173
|
layouts_paths.unshift("#{Rails.root}/app/views/layouts") if File.directory?("#{Rails.root}/app/views/layouts/apipie")
|
174
174
|
|
175
|
-
|
175
|
+
if ActionView::Base.respond_to?(:with_empty_template_cache) && ActionView::Base.respond_to?(:with_view_paths)
|
176
|
+
@apipie_renderer = ActionView::Base.with_empty_template_cache.with_view_paths(base_paths + layouts_paths)
|
177
|
+
else
|
178
|
+
@apipie_renderer = ActionView::Base.new(base_paths + layouts_paths)
|
179
|
+
end
|
180
|
+
|
176
181
|
@apipie_renderer.singleton_class.send(:include, ApipieHelper)
|
177
182
|
return @apipie_renderer
|
178
183
|
end
|
@@ -210,14 +215,14 @@ namespace :apipie do
|
|
210
215
|
end
|
211
216
|
|
212
217
|
def generate_json_page(file_base, doc, lang = nil)
|
213
|
-
FileUtils.mkdir_p(file_base) unless File.
|
218
|
+
FileUtils.mkdir_p(file_base) unless File.exist?(file_base)
|
214
219
|
|
215
220
|
filename = "schema_apipie#{lang_ext(lang)}.json"
|
216
221
|
File.open("#{file_base}/#{filename}", 'w') { |file| file.write(JSON.pretty_generate(doc)) }
|
217
222
|
end
|
218
223
|
|
219
224
|
def generate_swagger_json_page(file_base, doc, sfx="", lang = nil)
|
220
|
-
FileUtils.mkdir_p(file_base) unless File.
|
225
|
+
FileUtils.mkdir_p(file_base) unless File.exist?(file_base)
|
221
226
|
|
222
227
|
path = Pathname.new("#{file_base}/schema_swagger#{sfx}#{lang_ext(lang)}.json")
|
223
228
|
File.open(path, 'w') { |file| file.write(JSON.pretty_generate(doc)) }
|
@@ -226,21 +231,21 @@ namespace :apipie do
|
|
226
231
|
end
|
227
232
|
|
228
233
|
def generate_one_page(file_base, doc, lang = nil)
|
229
|
-
FileUtils.mkdir_p(File.dirname(file_base)) unless File.
|
234
|
+
FileUtils.mkdir_p(File.dirname(file_base)) unless File.exist?(File.dirname(file_base))
|
230
235
|
|
231
236
|
render_page("#{file_base}-onepage#{lang_ext(lang)}.html", "static", {:doc => doc[:docs],
|
232
237
|
:language => lang, :languages => Apipie.configuration.languages})
|
233
238
|
end
|
234
239
|
|
235
240
|
def generate_plain_page(file_base, doc, lang = nil)
|
236
|
-
FileUtils.mkdir_p(File.dirname(file_base)) unless File.
|
241
|
+
FileUtils.mkdir_p(File.dirname(file_base)) unless File.exist?(File.dirname(file_base))
|
237
242
|
|
238
243
|
render_page("#{file_base}-plain#{lang_ext(lang)}.html", "plain", {:doc => doc[:docs],
|
239
244
|
:language => lang, :languages => Apipie.configuration.languages}, nil)
|
240
245
|
end
|
241
246
|
|
242
247
|
def generate_index_page(file_base, doc, include_json = false, show_versions = false, lang = nil)
|
243
|
-
FileUtils.mkdir_p(File.dirname(file_base)) unless File.
|
248
|
+
FileUtils.mkdir_p(File.dirname(file_base)) unless File.exist?(File.dirname(file_base))
|
244
249
|
versions = show_versions && Apipie.available_versions
|
245
250
|
render_page("#{file_base}#{lang_ext(lang)}.html", "index", {:doc => doc[:docs],
|
246
251
|
:versions => versions, :language => lang, :languages => Apipie.configuration.languages})
|
@@ -251,7 +256,7 @@ namespace :apipie do
|
|
251
256
|
def generate_resource_pages(version, file_base, doc, include_json = false, lang = nil)
|
252
257
|
doc[:docs][:resources].each do |resource_name, _|
|
253
258
|
resource_file_base = File.join(file_base, resource_name.to_s)
|
254
|
-
FileUtils.mkdir_p(File.dirname(resource_file_base)) unless File.
|
259
|
+
FileUtils.mkdir_p(File.dirname(resource_file_base)) unless File.exist?(File.dirname(resource_file_base))
|
255
260
|
|
256
261
|
doc = Apipie.to_json(version, resource_name, nil, lang)
|
257
262
|
doc[:docs][:link_extension] = (lang ? ".#{lang}.html" : ".html")
|
@@ -265,7 +270,7 @@ namespace :apipie do
|
|
265
270
|
doc[:docs][:resources].each do |resource_name, resource_params|
|
266
271
|
resource_params[:methods].each do |method|
|
267
272
|
method_file_base = File.join(file_base, resource_name.to_s, method[:name].to_s)
|
268
|
-
FileUtils.mkdir_p(File.dirname(method_file_base)) unless File.
|
273
|
+
FileUtils.mkdir_p(File.dirname(method_file_base)) unless File.exist?(File.dirname(method_file_base))
|
269
274
|
|
270
275
|
doc = Apipie.to_json(version, resource_name, method[:name], lang)
|
271
276
|
doc[:docs][:link_extension] = (lang ? ".#{lang}.html" : ".html")
|
@@ -329,7 +334,7 @@ MESSAGE
|
|
329
334
|
desc "Convert your examples from the old yaml into the new json format"
|
330
335
|
task :convert_examples => :environment do
|
331
336
|
yaml_examples_file = File.join(Rails.root, Apipie.configuration.doc_path, "apipie_examples.yml")
|
332
|
-
if File.
|
337
|
+
if File.exist?(yaml_examples_file)
|
333
338
|
#if SafeYAML gem is enabled, it will load examples as an array of Hash, instead of hash
|
334
339
|
if defined? SafeYAML
|
335
340
|
examples = YAML.load_file(yaml_examples_file, :safe=>false)
|
@@ -0,0 +1,398 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "markdown",
|
5
|
+
"metadata": {},
|
6
|
+
"source": [
|
7
|
+
"## Release of apipie-rails gem\n",
|
8
|
+
"\n",
|
9
|
+
"### Requirements\n",
|
10
|
+
"- push access to https://github.com/Apipie/apipie-rails\n",
|
11
|
+
"- push access to rubygems.org for apipie-rails\n",
|
12
|
+
"- sudo yum install python-slugify asciidoc\n",
|
13
|
+
"- ensure neither the `git push` or `gem push` don't require interractive auth. If you can't use api key or ssh key to auth skip these steps and run them form the shell manually\n",
|
14
|
+
"- ensure all checks have passed on the branch you're about to release\n",
|
15
|
+
"\n",
|
16
|
+
"### Release process\n",
|
17
|
+
"- Follow the steps with `<Shift>+<Enter>` or `<Ctrl>+<Enter>,<Down>`\n",
|
18
|
+
"- If anything fails, fix it and re-run the step if applicable\n",
|
19
|
+
"\n",
|
20
|
+
"### Release settings"
|
21
|
+
]
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"cell_type": "code",
|
25
|
+
"execution_count": null,
|
26
|
+
"metadata": {},
|
27
|
+
"outputs": [],
|
28
|
+
"source": [
|
29
|
+
"%autosave 0"
|
30
|
+
]
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"cell_type": "code",
|
34
|
+
"execution_count": null,
|
35
|
+
"metadata": {},
|
36
|
+
"outputs": [],
|
37
|
+
"source": [
|
38
|
+
"%cd .."
|
39
|
+
]
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"cell_type": "markdown",
|
43
|
+
"metadata": {},
|
44
|
+
"source": [
|
45
|
+
"### Update the following notebook settings"
|
46
|
+
]
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"cell_type": "code",
|
50
|
+
"execution_count": null,
|
51
|
+
"metadata": {},
|
52
|
+
"outputs": [],
|
53
|
+
"source": [
|
54
|
+
"NEW_VERSION = '0.5.20'\n",
|
55
|
+
"LAST_VERSION = '0.5.19'\n",
|
56
|
+
"GIT_REMOTE_UPSTREAM = 'origin'\n",
|
57
|
+
"STABLE_RELEASE = False\n",
|
58
|
+
"WORK_BRANCH = 'stable' if STABLE_RELEASE else 'master'\n",
|
59
|
+
"# Array of strings, e.g. [\"21cbsc214g3\", \"21casc214g3\"]\n",
|
60
|
+
"CHERRY_PICKS = []\n",
|
61
|
+
"GEMFILE='Gemfile.rails61'"
|
62
|
+
]
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"cell_type": "markdown",
|
66
|
+
"metadata": {},
|
67
|
+
"source": [
|
68
|
+
"### Ensure the repo is up to date"
|
69
|
+
]
|
70
|
+
},
|
71
|
+
{
|
72
|
+
"cell_type": "code",
|
73
|
+
"execution_count": null,
|
74
|
+
"metadata": {},
|
75
|
+
"outputs": [],
|
76
|
+
"source": [
|
77
|
+
"! git checkout {WORK_BRANCH}"
|
78
|
+
]
|
79
|
+
},
|
80
|
+
{
|
81
|
+
"cell_type": "code",
|
82
|
+
"execution_count": null,
|
83
|
+
"metadata": {},
|
84
|
+
"outputs": [],
|
85
|
+
"source": [
|
86
|
+
"! git fetch {GIT_REMOTE_UPSTREAM}"
|
87
|
+
]
|
88
|
+
},
|
89
|
+
{
|
90
|
+
"cell_type": "code",
|
91
|
+
"execution_count": null,
|
92
|
+
"metadata": {},
|
93
|
+
"outputs": [],
|
94
|
+
"source": [
|
95
|
+
"! git rebase {GIT_REMOTE_UPSTREAM}/{WORK_BRANCH}"
|
96
|
+
]
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"cell_type": "markdown",
|
100
|
+
"metadata": {},
|
101
|
+
"source": [
|
102
|
+
"### Cherry picks for stable release"
|
103
|
+
]
|
104
|
+
},
|
105
|
+
{
|
106
|
+
"cell_type": "code",
|
107
|
+
"execution_count": null,
|
108
|
+
"metadata": {},
|
109
|
+
"outputs": [],
|
110
|
+
"source": [
|
111
|
+
"if STABLE_RELEASE:\n",
|
112
|
+
" for cp in CHERRY_PICKS:\n",
|
113
|
+
" ! git cherry-pick -x {cp}"
|
114
|
+
]
|
115
|
+
},
|
116
|
+
{
|
117
|
+
"cell_type": "markdown",
|
118
|
+
"metadata": {},
|
119
|
+
"source": [
|
120
|
+
"### Run tests localy if your setup allows, otherwise ensure the HEAD is green"
|
121
|
+
]
|
122
|
+
},
|
123
|
+
{
|
124
|
+
"cell_type": "code",
|
125
|
+
"execution_count": null,
|
126
|
+
"metadata": {},
|
127
|
+
"outputs": [],
|
128
|
+
"source": [
|
129
|
+
"! BUNDLE_GEMFILE=gemfiles/{GEMFILE} bundle update"
|
130
|
+
]
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"cell_type": "code",
|
134
|
+
"execution_count": null,
|
135
|
+
"metadata": {
|
136
|
+
"scrolled": true
|
137
|
+
},
|
138
|
+
"outputs": [],
|
139
|
+
"source": [
|
140
|
+
"! BUNDLE_GEMFILE=gemfiles/{GEMFILE} bundle exec rspec"
|
141
|
+
]
|
142
|
+
},
|
143
|
+
{
|
144
|
+
"cell_type": "markdown",
|
145
|
+
"metadata": {},
|
146
|
+
"source": [
|
147
|
+
"### Update release related stuff"
|
148
|
+
]
|
149
|
+
},
|
150
|
+
{
|
151
|
+
"cell_type": "code",
|
152
|
+
"execution_count": null,
|
153
|
+
"metadata": {},
|
154
|
+
"outputs": [],
|
155
|
+
"source": [
|
156
|
+
"! sed -i 's/VERSION = .*/VERSION = \"{NEW_VERSION}\"/' lib/apipie/version.rb"
|
157
|
+
]
|
158
|
+
},
|
159
|
+
{
|
160
|
+
"cell_type": "code",
|
161
|
+
"execution_count": null,
|
162
|
+
"metadata": {},
|
163
|
+
"outputs": [],
|
164
|
+
"source": [
|
165
|
+
"# Parse git changelog\n",
|
166
|
+
"from IPython.display import Markdown as md\n",
|
167
|
+
"from subprocess import check_output\n",
|
168
|
+
"from shlex import split\n",
|
169
|
+
"import re\n",
|
170
|
+
"\n",
|
171
|
+
"def format_log_entry(entry):\n",
|
172
|
+
" author = re.search(r'author:(.*)', entry).group(1)\n",
|
173
|
+
" entry = re.sub(r'author:(.*)', '', entry)\n",
|
174
|
+
" entry = re.sub(r'([fF]ixes|[rR]efs)[^-]*-\\s*(.*)', r'\\2', entry)\n",
|
175
|
+
" entry = '* ' + entry.capitalize()\n",
|
176
|
+
" entry = re.sub(r'\\(#([0-9]+)\\)', r'[#\\1](https://github.com/Apipie/apipie-rails/pull/\\1)', entry)\n",
|
177
|
+
" entry = entry + f'({author})'\n",
|
178
|
+
" return entry\n",
|
179
|
+
"\n",
|
180
|
+
"def skip(entry):\n",
|
181
|
+
" if re.match(r'Merge pull', entry) or \\\n",
|
182
|
+
" re.match(r'^i18n', entry) or \\\n",
|
183
|
+
" re.match(r'^Bump to version', entry):\n",
|
184
|
+
" return True\n",
|
185
|
+
" else:\n",
|
186
|
+
" return False \n",
|
187
|
+
"git_log_cmd = 'git log --pretty=format:\"%%s author:%%an\" v%s..HEAD' % LAST_VERSION\n",
|
188
|
+
"log = check_output(split(git_log_cmd)).decode('utf8').split('\\n')\n",
|
189
|
+
"change_log = [format_log_entry(e) for e in log if not skip(e)]\n",
|
190
|
+
"md('\\n'.join(change_log))\n"
|
191
|
+
]
|
192
|
+
},
|
193
|
+
{
|
194
|
+
"cell_type": "code",
|
195
|
+
"execution_count": null,
|
196
|
+
"metadata": {},
|
197
|
+
"outputs": [],
|
198
|
+
"source": [
|
199
|
+
"# Write release notes\n",
|
200
|
+
"from datetime import datetime\n",
|
201
|
+
"import fileinput\n",
|
202
|
+
"import sys\n",
|
203
|
+
"\n",
|
204
|
+
"fh = fileinput.input('CHANGELOG.md', inplace=True) \n",
|
205
|
+
"for line in fh: \n",
|
206
|
+
" print(line.rstrip())\n",
|
207
|
+
" if re.match(r'========', line):\n",
|
208
|
+
" print('## [v%s](https://github.com/Apipie/apipie-rails/tree/v%s) (%s)' % (NEW_VERSION, NEW_VERSION, datetime.today().strftime('%Y-%m-%d')))\n",
|
209
|
+
" print('[Full Changelog](https://github.com/Apipie/apipie-rails/compare/v%s...v%s)' % (LAST_VERSION, NEW_VERSION))\n",
|
210
|
+
" for entry in change_log:\n",
|
211
|
+
" print(entry)\n",
|
212
|
+
" print('')\n",
|
213
|
+
"fh.close() "
|
214
|
+
]
|
215
|
+
},
|
216
|
+
{
|
217
|
+
"cell_type": "markdown",
|
218
|
+
"metadata": {},
|
219
|
+
"source": [
|
220
|
+
"#### Manual step: Update deps in the gemspec if neccessary"
|
221
|
+
]
|
222
|
+
},
|
223
|
+
{
|
224
|
+
"cell_type": "markdown",
|
225
|
+
"metadata": {},
|
226
|
+
"source": [
|
227
|
+
"### Check what is going to be commited"
|
228
|
+
]
|
229
|
+
},
|
230
|
+
{
|
231
|
+
"cell_type": "code",
|
232
|
+
"execution_count": null,
|
233
|
+
"metadata": {
|
234
|
+
"scrolled": false
|
235
|
+
},
|
236
|
+
"outputs": [],
|
237
|
+
"source": [
|
238
|
+
"! git add -u\n",
|
239
|
+
"! git status"
|
240
|
+
]
|
241
|
+
},
|
242
|
+
{
|
243
|
+
"cell_type": "code",
|
244
|
+
"execution_count": null,
|
245
|
+
"metadata": {
|
246
|
+
"scrolled": true
|
247
|
+
},
|
248
|
+
"outputs": [],
|
249
|
+
"source": [
|
250
|
+
"! git diff --cached"
|
251
|
+
]
|
252
|
+
},
|
253
|
+
{
|
254
|
+
"cell_type": "markdown",
|
255
|
+
"metadata": {},
|
256
|
+
"source": [
|
257
|
+
"### Commit changes"
|
258
|
+
]
|
259
|
+
},
|
260
|
+
{
|
261
|
+
"cell_type": "code",
|
262
|
+
"execution_count": null,
|
263
|
+
"metadata": {
|
264
|
+
"scrolled": true
|
265
|
+
},
|
266
|
+
"outputs": [],
|
267
|
+
"source": [
|
268
|
+
"! git commit -m \"Bump to {NEW_VERSION}\""
|
269
|
+
]
|
270
|
+
},
|
271
|
+
{
|
272
|
+
"cell_type": "markdown",
|
273
|
+
"metadata": {},
|
274
|
+
"source": [
|
275
|
+
"### Tag new version"
|
276
|
+
]
|
277
|
+
},
|
278
|
+
{
|
279
|
+
"cell_type": "code",
|
280
|
+
"execution_count": null,
|
281
|
+
"metadata": {},
|
282
|
+
"outputs": [],
|
283
|
+
"source": [
|
284
|
+
"! git tag {NEW_VERSION}"
|
285
|
+
]
|
286
|
+
},
|
287
|
+
{
|
288
|
+
"cell_type": "markdown",
|
289
|
+
"metadata": {},
|
290
|
+
"source": [
|
291
|
+
"### Build the gem"
|
292
|
+
]
|
293
|
+
},
|
294
|
+
{
|
295
|
+
"cell_type": "code",
|
296
|
+
"execution_count": null,
|
297
|
+
"metadata": {},
|
298
|
+
"outputs": [],
|
299
|
+
"source": [
|
300
|
+
"! BUNDLE_GEMFILE=gemfiles/{GEMFILE} bundle exec rake build"
|
301
|
+
]
|
302
|
+
},
|
303
|
+
{
|
304
|
+
"cell_type": "code",
|
305
|
+
"execution_count": null,
|
306
|
+
"metadata": {},
|
307
|
+
"outputs": [],
|
308
|
+
"source": [
|
309
|
+
"! gem push pkg/apipie-rails-{NEW_VERSION}.gem"
|
310
|
+
]
|
311
|
+
},
|
312
|
+
{
|
313
|
+
"cell_type": "markdown",
|
314
|
+
"metadata": {},
|
315
|
+
"source": [
|
316
|
+
"### PUSH the changes upstream If everything is correct"
|
317
|
+
]
|
318
|
+
},
|
319
|
+
{
|
320
|
+
"cell_type": "code",
|
321
|
+
"execution_count": null,
|
322
|
+
"metadata": {},
|
323
|
+
"outputs": [],
|
324
|
+
"source": [
|
325
|
+
"! git push {GIT_REMOTE_UPSTREAM} {WORK_BRANCH}"
|
326
|
+
]
|
327
|
+
},
|
328
|
+
{
|
329
|
+
"cell_type": "code",
|
330
|
+
"execution_count": null,
|
331
|
+
"metadata": {},
|
332
|
+
"outputs": [],
|
333
|
+
"source": [
|
334
|
+
"! git push --tags {GIT_REMOTE_UPSTREAM} {WORK_BRANCH}"
|
335
|
+
]
|
336
|
+
},
|
337
|
+
{
|
338
|
+
"cell_type": "markdown",
|
339
|
+
"metadata": {},
|
340
|
+
"source": [
|
341
|
+
"#### Now the new release is in upstream repo"
|
342
|
+
]
|
343
|
+
},
|
344
|
+
{
|
345
|
+
"cell_type": "markdown",
|
346
|
+
"metadata": {},
|
347
|
+
"source": [
|
348
|
+
"### Some manual steps follow to improve the UX\n",
|
349
|
+
"\n",
|
350
|
+
"#### New relase on GitHub\n",
|
351
|
+
"\n",
|
352
|
+
"Copy the following changelog lines to the description in form on link below\n",
|
353
|
+
"The release title is the new version."
|
354
|
+
]
|
355
|
+
},
|
356
|
+
{
|
357
|
+
"cell_type": "code",
|
358
|
+
"execution_count": null,
|
359
|
+
"metadata": {},
|
360
|
+
"outputs": [],
|
361
|
+
"source": [
|
362
|
+
"print('\\n')\n",
|
363
|
+
"print('\\n'.join(change_log))\n",
|
364
|
+
"print('\\n\\nhttps://github.com/Apipie/apipie-rails/releases/new?tag=%s' % NEW_VERSION)"
|
365
|
+
]
|
366
|
+
},
|
367
|
+
{
|
368
|
+
"cell_type": "markdown",
|
369
|
+
"metadata": {},
|
370
|
+
"source": [
|
371
|
+
"## Congratulations\n",
|
372
|
+
"\n",
|
373
|
+
"Release is public now."
|
374
|
+
]
|
375
|
+
}
|
376
|
+
],
|
377
|
+
"metadata": {
|
378
|
+
"kernelspec": {
|
379
|
+
"display_name": "Python 3",
|
380
|
+
"language": "python",
|
381
|
+
"name": "python3"
|
382
|
+
},
|
383
|
+
"language_info": {
|
384
|
+
"codemirror_mode": {
|
385
|
+
"name": "ipython",
|
386
|
+
"version": 3
|
387
|
+
},
|
388
|
+
"file_extension": ".py",
|
389
|
+
"mimetype": "text/x-python",
|
390
|
+
"name": "python",
|
391
|
+
"nbconvert_exporter": "python",
|
392
|
+
"pygments_lexer": "ipython3",
|
393
|
+
"version": "3.6.8"
|
394
|
+
}
|
395
|
+
},
|
396
|
+
"nbformat": 4,
|
397
|
+
"nbformat_minor": 2
|
398
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
if RUBY_VERSION >= '2.6.0'
|
2
|
+
if Rails.version < '5'
|
3
|
+
# rubocop:disable Style/CommentAnnotation
|
4
|
+
class ActionController::TestResponse < ActionDispatch::TestResponse
|
5
|
+
def recycle!
|
6
|
+
# hack to avoid MonitorMixin double-initialize error:
|
7
|
+
@mon_mutex_owner_object_id = nil
|
8
|
+
@mon_mutex = nil
|
9
|
+
initialize
|
10
|
+
end
|
11
|
+
end
|
12
|
+
# rubocop:enable Style/CommentAnnotation
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apipie-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Pokorny
|
8
8
|
- Ivan Necas
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-03-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -145,17 +145,12 @@ executables: []
|
|
145
145
|
extensions: []
|
146
146
|
extra_rdoc_files: []
|
147
147
|
files:
|
148
|
+
- ".github/workflows/build.yml"
|
148
149
|
- ".gitignore"
|
149
150
|
- ".rspec"
|
150
|
-
- ".travis.yml"
|
151
151
|
- APACHE-LICENSE-2.0
|
152
152
|
- CHANGELOG.md
|
153
153
|
- Gemfile
|
154
|
-
- Gemfile.rails41
|
155
|
-
- Gemfile.rails42
|
156
|
-
- Gemfile.rails50
|
157
|
-
- Gemfile.rails51
|
158
|
-
- Gemfile.rails60
|
159
154
|
- MIT-LICENSE
|
160
155
|
- NOTICE
|
161
156
|
- PROPOSAL_FOR_RESPONSE_DESCRIPTIONS.md
|
@@ -202,6 +197,11 @@ files:
|
|
202
197
|
- config/locales/tr.yml
|
203
198
|
- config/locales/zh-CN.yml
|
204
199
|
- config/locales/zh-TW.yml
|
200
|
+
- gemfiles/Gemfile.rails42
|
201
|
+
- gemfiles/Gemfile.rails42.lock
|
202
|
+
- gemfiles/Gemfile.rails52
|
203
|
+
- gemfiles/Gemfile.rails60
|
204
|
+
- gemfiles/Gemfile.rails61
|
205
205
|
- images/screenshot-1.png
|
206
206
|
- images/screenshot-2.png
|
207
207
|
- lib/apipie-rails.rb
|
@@ -239,6 +239,7 @@ files:
|
|
239
239
|
- lib/generators/apipie/install/templates/initializer.rb.erb
|
240
240
|
- lib/generators/apipie/views_generator.rb
|
241
241
|
- lib/tasks/apipie.rake
|
242
|
+
- rel-eng/gem_release.ipynb
|
242
243
|
- rel-eng/packages/.readme
|
243
244
|
- rel-eng/packages/rubygem-apipie-rails
|
244
245
|
- rel-eng/tito.props
|
@@ -322,11 +323,12 @@ files:
|
|
322
323
|
- spec/lib/validator_spec.rb
|
323
324
|
- spec/lib/validators/array_validator_spec.rb
|
324
325
|
- spec/spec_helper.rb
|
326
|
+
- spec/support/rails-42-ruby-26.rb
|
325
327
|
- spec/support/rake.rb
|
326
328
|
homepage: http://github.com/Apipie/apipie-rails
|
327
329
|
licenses: []
|
328
330
|
metadata: {}
|
329
|
-
post_install_message:
|
331
|
+
post_install_message:
|
330
332
|
rdoc_options: []
|
331
333
|
require_paths:
|
332
334
|
- lib
|
@@ -341,9 +343,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
341
343
|
- !ruby/object:Gem::Version
|
342
344
|
version: '0'
|
343
345
|
requirements: []
|
344
|
-
|
345
|
-
|
346
|
-
signing_key:
|
346
|
+
rubygems_version: 3.1.2
|
347
|
+
signing_key:
|
347
348
|
specification_version: 4
|
348
349
|
summary: Rails REST API documentation tool
|
349
350
|
test_files:
|
@@ -427,4 +428,5 @@ test_files:
|
|
427
428
|
- spec/lib/validator_spec.rb
|
428
429
|
- spec/lib/validators/array_validator_spec.rb
|
429
430
|
- spec/spec_helper.rb
|
431
|
+
- spec/support/rails-42-ruby-26.rb
|
430
432
|
- spec/support/rake.rb
|
data/.travis.yml
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
sudo: false
|
3
|
-
before_install: >-
|
4
|
-
if ruby -v | grep 'ruby 2.2'; then
|
5
|
-
gem install bundler -v '~> 1.17'
|
6
|
-
fi
|
7
|
-
rvm:
|
8
|
-
- 2.2.10
|
9
|
-
- 2.3.8
|
10
|
-
- 2.4.5
|
11
|
-
- 2.5.3
|
12
|
-
- 2.6.0
|
13
|
-
gemfile:
|
14
|
-
- Gemfile.rails42
|
15
|
-
- Gemfile.rails51 # Min ruby 2.2.2
|
16
|
-
- Gemfile.rails60 # Min ruby 2.5.0
|
17
|
-
matrix:
|
18
|
-
exclude:
|
19
|
-
- rvm: 2.5.3
|
20
|
-
gemfile: Gemfile.rails42
|
21
|
-
- rvm: 2.6.0
|
22
|
-
gemfile: Gemfile.rails42
|
23
|
-
- rvm: 2.2.10
|
24
|
-
gemfile: Gemfile.rails60
|
25
|
-
- rvm: 2.3.8
|
26
|
-
gemfile: Gemfile.rails60
|
27
|
-
- rvm: 2.4.5
|
28
|
-
gemfile: Gemfile.rails60
|
data/Gemfile.rails41
DELETED
data/Gemfile.rails50
DELETED
data/Gemfile.rails51
DELETED
data/Gemfile.rails60
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
|
3
|
-
gemspec
|
4
|
-
|
5
|
-
gem 'rails', '~> 6.0.0.rc1'
|
6
|
-
gem 'mime-types', '~> 2.99.3'
|
7
|
-
gem 'rails-controller-testing'
|
8
|
-
gem 'rspec-rails', git: 'https://github.com/rspec/rspec-rails', branch: '4-0-dev'
|
9
|
-
gem 'rspec-core', git: 'https://github.com/rspec/rspec-core'
|
10
|
-
gem 'rspec-mocks', git: 'https://github.com/rspec/rspec-mocks'
|
11
|
-
gem 'rspec-support', git: 'https://github.com/rspec/rspec-support'
|
12
|
-
gem 'rspec-expectations', git: 'https://github.com/rspec/rspec-expectations'
|
13
|
-
|
14
|
-
gem 'test_engine', path: 'spec/dummy/components/test_engine', group: :test
|