apiaryio 0.13.0 → 0.15.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ca172a477a7f9278a2574bed856538adf54ddcfb
4
- data.tar.gz: 4cc86962d31b818fa3ea5b3b8f0ff72529e401b9
2
+ SHA256:
3
+ metadata.gz: a2cbc41bcb380395b638267fe70ca1e7edae887ef7ff2476a4748ace00f670b3
4
+ data.tar.gz: 3b2b4bafaab4e05805814aae78addd36aedaa69d7dc20e83cd41c612bc46fb93
5
5
  SHA512:
6
- metadata.gz: c76e2481fe726a420d73da8bfa1af4dbf050fdb66a9ee98c74f61a22006390d7b16b943acd06173dc7b09109691dfc7ea5dfd0249c71cb69fc4d2b1cad5df13b
7
- data.tar.gz: d5daa7b88e8fba01946620ca24174f6d0c58eab0dfc13d1d4fd0f3671f2b5babf5d34e8b9371c3e0490b52d21c94601537df9da2508a6155f72c35d9d45f7bd3
6
+ metadata.gz: 681b132cdb458157d71e9c89577a406b5b232af6727dcdcff75151f40be3ddb3403040245e2f42b890bbe30e1c6f291d7cc426f20ccb3e3fe6f3626d5817ac66
7
+ data.tar.gz: '0620901f63e3b66b45dc33d524ac1e34039d9e660c1f98b7a2253ee34214eeb0392a899f0bc5dc01f9d797219bf85c2b3b237dfaa540ae9838e2f3b7f4a7cf62'
data/.circleci/config.yml CHANGED
@@ -3,13 +3,15 @@ workflows:
3
3
  version: 2
4
4
  test:
5
5
  jobs:
6
- - test-2.3
7
6
  - test-2.4
8
7
  - test-2.5
8
+ - test-2.6
9
+ - test-2.7
10
+ - test-3.0
9
11
  jobs:
10
- test-2.3: &test-template
12
+ test-2.4: &test-template
11
13
  docker:
12
- - image: circleci/ruby:2.3-browsers
14
+ - image: circleci/ruby:2.4-browsers
13
15
  steps:
14
16
  - checkout
15
17
  - run:
@@ -32,11 +34,19 @@ jobs:
32
34
  name: Run cucumber
33
35
  command: |
34
36
  bundle exec cucumber
35
- test-2.4:
36
- <<: *test-template
37
- docker:
38
- - image: circleci/ruby:2.4-browsers
39
37
  test-2.5:
40
38
  <<: *test-template
41
39
  docker:
42
40
  - image: circleci/ruby:2.5-browsers
41
+ test-2.6:
42
+ <<: *test-template
43
+ docker:
44
+ - image: circleci/ruby:2.6-browsers
45
+ test-2.7:
46
+ <<: *test-template
47
+ docker:
48
+ - image: circleci/ruby:2.7-browsers
49
+ test-3.0:
50
+ <<: *test-template
51
+ docker:
52
+ - image: circleci/ruby:3.0-browsers
@@ -0,0 +1,34 @@
1
+ name: release
2
+ on:
3
+ push:
4
+ tags: [v*]
5
+ jobs:
6
+ docker:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - name: Checkout
10
+ uses: actions/checkout@v2
11
+ - name: Login to Docker Hub
12
+ uses: docker/login-action@v1
13
+ with:
14
+ username: ${{ secrets.DOCKER_USERNAME }}
15
+ password: ${{ secrets.DOCKER_PASSWORD }}
16
+ - name: Get the version
17
+ id: version
18
+ run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/}
19
+ - name: Docker Build and Release
20
+ run: |
21
+ docker build . -t apiaryio/client
22
+ docker tag apiaryio/client apiaryio/client:${{ steps.version.outputs.VERSION }}
23
+ docker push apiaryio/client
24
+ docker push apiaryio/client:${{ steps.version.outputs.VERSION }}
25
+ - name: Publish to RubyGems
26
+ run: |
27
+ mkdir -p $HOME/.gem
28
+ touch $HOME/.gem/credentials
29
+ chmod 0600 $HOME/.gem/credentials
30
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
31
+ gem build *.gemspec
32
+ gem push *.gem
33
+ env:
34
+ GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
@@ -0,0 +1,29 @@
1
+ name: test
2
+ on:
3
+ push:
4
+ branches: [master]
5
+ pull_request:
6
+ branches: [master]
7
+ types: [opened, reopened, synchronize]
8
+ jobs:
9
+ test:
10
+ runs-on: ${{ matrix.os }}
11
+ strategy:
12
+ matrix:
13
+ os: ["windows-latest", "ubuntu-latest"]
14
+ ruby: ["3.0.x", "2.7.x", "2.6.x", "2.5.x"]
15
+ steps:
16
+ - uses: actions/checkout@v2
17
+ - name: Set up Ruby
18
+ uses: actions/setup-ruby@v1
19
+ with:
20
+ ruby-version: ${{ matrix.ruby }}
21
+ - name: Set up Bundler
22
+ run: gem install bundler --no-document
23
+ - name: Install dependencies
24
+ run: bundle install
25
+ - name: Run test
26
+ run: bundle exec rspec spec
27
+ - name: Run cucumber tests
28
+ if: matrix.os != 'windows-latest'
29
+ run: bundle exec cucumber
data/.gitignore CHANGED
@@ -37,9 +37,11 @@ Gemfile.lock
37
37
 
38
38
  # testing
39
39
  spec/fixtures/test.html
40
+ rules.json
41
+ functions.js
40
42
 
41
43
  # idea ide
42
44
  /.idea
43
45
 
44
46
  # netbeans IDE
45
- /nbproject
47
+ /nbproject
data/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ # Changelog
2
+
3
+ ## 0.15.0
4
+ * fix: change domain from docs.<subdomain>.apiary.io to <subdomain>.docs.apiary.io
5
+ * fix(security): [CVE-2020-10663](https://www.ruby-lang.org/en/news/2020/03/19/json-dos-cve-2020-10663/) and [CVE-2020-8184](https://nvd.nist.gov/vuln/detail/CVE-2020-8184)
6
+ ## 0.14.1
7
+ * fix: [update rack to 2.1.4](https://github.com/advisories/GHSA-j6w9-fv6q-3q52)
8
+
9
+ ## 0.14.0
10
+
11
+ ### Breaking
12
+ * Remove support for ruby 2.3
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM coopermaa/alpine-ruby:2.2
1
+ FROM ruby:2.7-alpine
2
2
  RUN apk add --update build-base && rm /var/cache/apk/*
3
3
  RUN gem install apiaryio
4
4
  ENTRYPOINT ["apiary"]
data/README.md CHANGED
@@ -8,12 +8,12 @@ Apiary CLI Client
8
8
  ## Description
9
9
 
10
10
  The Apiary CLI Client gem is a command line tool for developing and previewing
11
- [API Blueprint](http://apiblueprint.org) documents locally. It can also be
11
+ [API Blueprint](https://apiblueprint.org) documents locally. It can also be
12
12
  used for pushing updated documents to and fetching existing documents from
13
- [Apiary](http://apiary.io).
13
+ [Apiary](https://apiary.io).
14
14
 
15
15
 
16
- Please see the `apiary help` command and the [full documentation](http://client.apiary.io) for an in-depth look in how to use this tool.
16
+ Please see the `apiary help` command and the [full documentation](https://client.apiary.io) for an in-depth look in how to use this tool.
17
17
 
18
18
  For instructions on making your own changes, see [Hacking Apiary CLI Client](#hacking-apiary-cli-client), below.
19
19
 
@@ -45,7 +45,7 @@ docker build -t "apiaryio/client" .
45
45
  *Required only for publish and fetch commands.*
46
46
 
47
47
 
48
- 1. Make sure you are a registered user of [Apiary](http://apiary.io).
48
+ 1. Make sure you are a registered user of [Apiary](https://apiary.io).
49
49
  2. Retrieve API key (token) on [this page](https://login.apiary.io/tokens).
50
50
  3. Export it as an environment variable:
51
51
 
@@ -57,10 +57,10 @@ export APIARY_API_KEY=<your_token>
57
57
  ```
58
58
  $ apiary help
59
59
  Commands:
60
- apiary fetch --api-name=API_NAME # Fetch API Description Document from API_NAME.apiary.io
60
+ apiary fetch --api-name=API_NAME # Fetch API Description Document from API_NAME.docs.apiary.io
61
61
  apiary help [COMMAND] # Describe available commands or one specific command
62
62
  apiary preview # Show API documentation in browser or write it to file
63
- apiary publish --api-name=API_NAME # Publish API Description Document on docs.API_NAME.apiary.io (API Description must exist on apiary.io)
63
+ apiary publish --api-name=API_NAME # Publish API Description Document on API_NAME.docs.apiary.io (API Description must exist on apiary.io)
64
64
  apiary styleguide # Check API Description Document against styleguide rules (Apiary.io pro plan is required - https://apiary.io/plans )
65
65
  apiary version # Show version
66
66
 
@@ -79,7 +79,7 @@ Options:
79
79
  --api-name=API_NAME
80
80
  [--output=FILE] # Write API Description Document into specified file
81
81
 
82
- Fetch API Description Document from API_NAME.apiary.io
82
+ Fetch API Description Document from API_NAME.docs.apiary.io
83
83
  ```
84
84
 
85
85
  #### preview
@@ -117,7 +117,7 @@ Options:
117
117
  # Default: true
118
118
  --api-name=API_NAME
119
119
 
120
- Publish API Description Document on docs.API_NAME.apiary.io (API Description must exist on apiary.io)
120
+ Publish API Description Document on API_NAME.docs.apiary.io (API Description must exist on apiary.io)
121
121
  ```
122
122
 
123
123
  #### styleguide
@@ -192,9 +192,16 @@ Use `bundle install` to install your changes locally, for manual and ad-hock tes
192
192
 
193
193
  Only gem owners `gem owner apiaryio` can publish new gem into [RubyGems](https://rubygems.org/gems/apiaryio).
194
194
 
195
- ```sh
196
- $ rake release
197
- ```
195
+ 1. bump version in `lib/apiary/version.rb`
196
+ 2. update `CHANGELOG.md`
197
+ 3. prepare Github Release with text in `CHANGELOG`
198
+ 4. make gem release:
199
+
200
+ ```sh
201
+ $ rake release
202
+ ```
203
+
204
+ - if release is stuck you need use `$ rake release --trace` to get OTP prompt.
198
205
 
199
206
 
200
207
  ## License
data/apiary.gemspec CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
14
14
 
15
15
  gem.description = 'Apiary.io CLI'
16
16
  gem.summary = 'Apiary.io CLI'
17
- gem.homepage = 'http://apiary.io'
17
+ gem.homepage = 'https://apiary.io'
18
18
  gem.license = 'MIT'
19
19
 
20
20
  gem.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
@@ -24,14 +24,14 @@ Gem::Specification.new do |gem|
24
24
  gem.require_paths = ['lib']
25
25
 
26
26
  gem.add_runtime_dependency 'rest-client', '~> 2.0'
27
- gem.add_runtime_dependency 'rack', '~> 2.0.0'
28
- gem.add_runtime_dependency 'thor', '~> 0.19.1'
29
- gem.add_runtime_dependency 'json', '~> 1.8'
27
+ gem.add_runtime_dependency 'rack', '>= 2.2.3'
28
+ gem.add_runtime_dependency 'thor', '~> 0.20.3'
29
+ gem.add_runtime_dependency 'json', '>= 2.3.0'
30
30
  gem.add_runtime_dependency 'launchy', '~> 2.4'
31
- gem.add_runtime_dependency 'listen', '~> 2.0'
31
+ gem.add_runtime_dependency 'listen', '~> 3.0'
32
32
 
33
- gem.add_development_dependency 'bundler', '~> 2.0'
34
- gem.add_development_dependency 'rake', '~> 10.0'
33
+ gem.add_development_dependency 'bundler', '>= 2.2.11'
34
+ gem.add_development_dependency 'rake', '>= 12.3.3'
35
35
  gem.add_development_dependency 'rspec', '~> 3.4'
36
36
  gem.add_development_dependency 'webmock', '>= 2.2.0'
37
37
  gem.add_development_dependency 'aruba', '~> 0.14'
@@ -1,8 +1,8 @@
1
- Feature: Publish apiary.apib on docs.API_NAME.apiary.io
1
+ Feature: Publish apiary.apib on API_NAME.docs.apiary.io
2
2
 
3
3
  # This is integration testing you have to set APIARY_API_KEY
4
4
  @needs_apiary_api_key
5
- Scenario: Publish apiary.apib on docs.API_NAME.apiary.io
5
+ Scenario: Publish apiary.apib on API_NAME.docs.apiary.io
6
6
 
7
7
  # expected to fail
8
8
  When I run `apiary publish --path=apiary.apib --api-name 1111apiaryclienttest`
@@ -1,4 +1,4 @@
1
- Feature: Styleguide apiary.apib on docs.API_NAME.apiary.io
1
+ Feature: Styleguide apiary.apib on API_NAME.docs.apiary.io
2
2
 
3
3
  # This is integration testing you have to set APIARY_API_KEY
4
4
  @needs_apiary_api_key
data/lib/apiary/cli.rb CHANGED
@@ -8,7 +8,7 @@ require 'apiary/command/styleguide'
8
8
 
9
9
  module Apiary
10
10
  class CLI < Thor
11
- desc 'fetch', 'Fetch API Description Document from API_NAME.apiary.io'
11
+ desc 'fetch', 'Fetch API Description Document from API_NAME.docs.apiary.io'
12
12
  method_option :api_name, type: :string, required: true
13
13
  method_option :api_host, type: :string, banner: 'HOST', desc: 'Specify apiary host', hide: true
14
14
  method_option :output, type: :string, banner: 'FILE', desc: 'Write API Description Document into specified file'
@@ -34,7 +34,7 @@ module Apiary
34
34
  cmd.execute
35
35
  end
36
36
 
37
- desc 'publish', 'Publish API Description Document on docs.API_NAME.apiary.io (API Description must exist on apiary.io)'
37
+ desc 'publish', 'Publish API Description Document on API_NAME.docs.apiary.io (API Description must exist on apiary.io)'
38
38
  method_option :message, type: :string, banner: 'COMMIT_MESSAGE', desc: 'Publish with custom commit message'
39
39
  method_option :path, type: :string, desc: 'Specify path to API Description Document. When given a directory, it will look for `apiary.apib` and `swagger.yaml` file'
40
40
  method_option :json, type: :boolean, desc: 'Specify that Swagger API Description Document is in json format. Document will be converted to yaml before processing'
@@ -32,7 +32,7 @@ module Apiary::Command
32
32
 
33
33
  def fetch_from_apiary
34
34
  unless @options.api_name
35
- abort 'Please provide an api-name option (subdomain part from your http://docs.<api-name>.apiary.io/)'
35
+ abort 'Please provide an api-name option (subdomain part from your https://<api-name>.docs.apiary.io/)'
36
36
  end
37
37
 
38
38
  unless @options.api_key
@@ -42,7 +42,7 @@ module Apiary::Command
42
42
 
43
43
  def publish_on_apiary
44
44
  unless @options.api_name
45
- abort 'Please provide an api-name option (subdomain part from your http://docs.<api-name>.apiary.io/)'
45
+ abort 'Please provide an api-name option (subdomain part from your https://<api-name>.docs.apiary.io/)'
46
46
  end
47
47
 
48
48
  unless @options.api_key
@@ -1,3 +1,3 @@
1
1
  module Apiary
2
- VERSION = '0.13.0'.freeze
2
+ VERSION = '0.15.2'.freeze
3
3
  end
@@ -4,7 +4,7 @@ describe Apiary::Command::Fetch do
4
4
  it 'pass command without params' do
5
5
  opts = {}
6
6
  command = Apiary::Command::Fetch.new(opts)
7
- expect { command.fetch_from_apiary }.to raise_error('Please provide an api-name option (subdomain part from your http://docs.<api-name>.apiary.io/)')
7
+ expect { command.fetch_from_apiary }.to raise_error('Please provide an api-name option (subdomain part from your https://<api-name>.docs.apiary.io/)')
8
8
  end
9
9
 
10
10
  it 'pass command only with api_name', api_key: true do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apiaryio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.15.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Apiary Ltd.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-22 00:00:00.000000000 Z
11
+ date: 2021-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -28,44 +28,44 @@ dependencies:
28
28
  name: rack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 2.0.0
33
+ version: 2.2.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 2.0.0
40
+ version: 2.2.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: thor
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.19.1
47
+ version: 0.20.3
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.19.1
54
+ version: 0.20.3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: json
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '1.8'
61
+ version: 2.3.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '1.8'
68
+ version: 2.3.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: launchy
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,42 +86,42 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '2.0'
89
+ version: '3.0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '2.0'
96
+ version: '3.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '2.0'
103
+ version: 2.2.11
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '2.0'
110
+ version: 2.2.11
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '10.0'
117
+ version: 12.3.3
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '10.0'
124
+ version: 12.3.3
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -201,17 +201,18 @@ extensions: []
201
201
  extra_rdoc_files: []
202
202
  files:
203
203
  - ".circleci/config.yml"
204
+ - ".github/workflows/release.yml"
205
+ - ".github/workflows/test.yml"
204
206
  - ".gitignore"
205
207
  - ".rspec"
206
208
  - ".rubocop_todo.yml"
207
- - ".travis.yml"
209
+ - CHANGELOG.md
208
210
  - Dockerfile
209
211
  - Gemfile
210
212
  - LICENSE
211
213
  - README.md
212
214
  - Rakefile
213
215
  - apiary.gemspec
214
- - appveyor.yml
215
216
  - bin/apiary
216
217
  - features/fetch.feature
217
218
  - features/preview.feature
@@ -255,11 +256,11 @@ files:
255
256
  - spec/spec_helper.rb
256
257
  - spec/support/aruba.rb
257
258
  - spec/support/webmock.rb
258
- homepage: http://apiary.io
259
+ homepage: https://apiary.io
259
260
  licenses:
260
261
  - MIT
261
262
  metadata: {}
262
- post_install_message:
263
+ post_install_message:
263
264
  rdoc_options: []
264
265
  require_paths:
265
266
  - lib
@@ -274,9 +275,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
274
275
  - !ruby/object:Gem::Version
275
276
  version: '0'
276
277
  requirements: []
277
- rubyforge_project:
278
- rubygems_version: 2.4.8
279
- signing_key:
278
+ rubygems_version: 3.1.2
279
+ signing_key:
280
280
  specification_version: 4
281
281
  summary: Apiary.io CLI
282
282
  test_files:
data/.travis.yml DELETED
@@ -1,18 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- rvm:
4
- - "ruby-2.3.1"
5
- - "ruby-2.4.0"
6
- - "ruby-2.5.0"
7
- - "jruby-9.1.0.0"
8
-
9
- matrix:
10
- allow_failures:
11
- - rvm: rbx-2
12
- cache: bundler
13
- before_install:
14
- - gem update --system
15
- - gem update bundler
16
- script:
17
- - bundle exec rspec spec
18
- - bundle exec cucumber
data/appveyor.yml DELETED
@@ -1,32 +0,0 @@
1
- ---
2
- version: "{branch}-{build}"
3
-
4
- clone_depth: 10
5
-
6
- build: off
7
-
8
- install:
9
- - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
10
- - gem install bundler -f
11
- - bundle config --local path vendor/bundle
12
- - bundle install
13
-
14
- before_test:
15
- - ruby --version
16
- - gem --version
17
- - bundler --version
18
-
19
- test_script:
20
- - bundle exec rspec spec
21
-
22
- artifacts:
23
- - path: pkg\*.gem
24
-
25
- cache:
26
- - vendor/bundle
27
-
28
- environment:
29
- matrix:
30
- - ruby_version: 23
31
- - ruby_version: 24
32
- - ruby_version: 25