development-toolbox 0.1.0 → 0.2.0
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/.gitlab-ci.yml +89 -18
- data/.yardopts +4 -0
- data/Dockerfile +21 -0
- data/README.md +1 -1
- data/development-toolbox.gemspec +3 -1
- data/docker-compose.yml +4 -0
- data/lib/commonmarker/compat.rb +5 -0
- data/lib/commonmarker/compat_renderer.rb +34 -0
- data/lib/development/toolbox/version.rb +1 -1
- data/lib/yard/templates/helpers/markup_helper/commonmarker.rb +11 -0
- data/rakelib/audit.rake +15 -0
- data/rakelib/test.rake +1 -1
- metadata +52 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c10a9e633173c4c4aaaa8da134ffd1489db061ce
|
4
|
+
data.tar.gz: 4f84850071b231207ac8bacf02c9057918f07f9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3cf0ab05d0508c591c32091bb52cafdd1f3da370b4d7a2a8627cef591868eb5ecaf67733bb55da474df136849b986359b044c94ee2d9c61411036241f40f8b7a
|
7
|
+
data.tar.gz: c865f099320e033e21246068c8276e75448deeca3a376b2db8f10acb98479e16000ae405597b9d8a7908821803190e6c5590b271bf4810d38847deccbf1234a7
|
data/.gitlab-ci.yml
CHANGED
@@ -1,19 +1,90 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
-
|
14
|
-
|
15
|
-
-
|
16
|
-
|
17
|
-
|
1
|
+
# See documentation at https://docs.gitlab.com/ee/ci/yaml/README.html
|
2
|
+
variables:
|
3
|
+
CI_REGISTRY_IMAGE_LATEST: $CI_REGISTRY_IMAGE:latest
|
4
|
+
CI_REGISTRY_IMAGE_STABLE: $CI_REGISTRY_IMAGE:stable
|
5
|
+
|
6
|
+
stages:
|
7
|
+
- test
|
8
|
+
- deploy
|
9
|
+
|
10
|
+
.docker_build: &docker
|
11
|
+
image: docker:latest
|
12
|
+
services:
|
13
|
+
- docker:dind
|
14
|
+
before_script:
|
15
|
+
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
|
16
|
+
|
17
|
+
.ruby_build: &ruby
|
18
|
+
image: $CI_REGISTRY_IMAGE_LATEST
|
19
|
+
# Cache gems in between builds
|
20
|
+
cache:
|
21
|
+
paths:
|
22
|
+
- /cache
|
23
|
+
# This is a basic example for a gem or script which doesn't use
|
24
|
+
# services such as redis or postgres
|
25
|
+
before_script:
|
26
|
+
- ruby -v # Print out ruby version for debugging
|
27
|
+
- gem install bundler --no-ri --no-rdoc # Bundler is not installed with the image
|
28
|
+
- bundle install -j $(nproc) --path=".bundle" # Install dependencies into ./.bundle
|
29
|
+
|
30
|
+
.release_docker_image: &release_docker_image
|
31
|
+
<<: *docker
|
32
|
+
stage: deploy
|
18
33
|
script:
|
19
|
-
-
|
34
|
+
- echo "Releasing ${$TARGET_IMAGE} from $CI_REGISTRY_IMAGE_LATEST"
|
35
|
+
- docker pull $CI_REGISTRY_IMAGE_LATEST
|
36
|
+
- docker tag $CI_REGISTRY_IMAGE_LATEST ${$TARGET_IMAGE}
|
37
|
+
- docker push ${$TARGET_IMAGE}
|
38
|
+
|
39
|
+
test:
|
40
|
+
<<: *ruby
|
41
|
+
script: bin/rake test
|
42
|
+
stage: test
|
43
|
+
artifacts:
|
44
|
+
paths:
|
45
|
+
- Gemfile.lock
|
46
|
+
- spec/reports
|
47
|
+
- coverage
|
48
|
+
|
49
|
+
doc:
|
50
|
+
<<: *ruby
|
51
|
+
script: bin/rake doc
|
52
|
+
stage: test
|
53
|
+
artifacts:
|
54
|
+
paths:
|
55
|
+
- doc
|
56
|
+
|
57
|
+
build latest docker:
|
58
|
+
<<: *docker
|
59
|
+
stage: deploy
|
60
|
+
only:
|
61
|
+
- develop
|
62
|
+
dependencies:
|
63
|
+
- test
|
64
|
+
script:
|
65
|
+
- echo "Building $CI_REGISTRY_IMAGE_LATEST"
|
66
|
+
- docker build --pull -t $CI_REGISTRY_IMAGE_LATEST .
|
67
|
+
- docker push $CI_REGISTRY_IMAGE_LATEST
|
68
|
+
|
69
|
+
build stable docker:
|
70
|
+
<<: *docker
|
71
|
+
stage: deploy
|
72
|
+
only:
|
73
|
+
- master
|
74
|
+
dependencies:
|
75
|
+
- test
|
76
|
+
script:
|
77
|
+
- echo "Building $CI_REGISTRY_IMAGE_STABLE"
|
78
|
+
- docker build --pull -t $CI_REGISTRY_IMAGE_STABLE .
|
79
|
+
- docker push $CI_REGISTRY_IMAGE_STABLE
|
80
|
+
|
81
|
+
build_gem:
|
82
|
+
<<: *ruby
|
83
|
+
script: bin/rake build
|
84
|
+
only:
|
85
|
+
- develop
|
86
|
+
stage: deploy
|
87
|
+
artifacts:
|
88
|
+
paths:
|
89
|
+
- doc
|
90
|
+
- pkg
|
data/.yardopts
ADDED
data/Dockerfile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
FROM ruby:2.4-alpine
|
2
|
+
|
3
|
+
RUN apk --update --upgrade add --no-cache \
|
4
|
+
build-base \
|
5
|
+
cmake \
|
6
|
+
coreutils \
|
7
|
+
git
|
8
|
+
|
9
|
+
RUN mkdir /app
|
10
|
+
WORKDIR /app
|
11
|
+
|
12
|
+
RUN gem install bundler --no-ri --no-rdoc
|
13
|
+
|
14
|
+
ADD lib/development/toolbox/version.rb /app/lib/development/toolbox/version.rb
|
15
|
+
ADD development-toolbox.gemspec /app/development-toolbox.gemspec
|
16
|
+
ADD Gemfile /app/Gemfile
|
17
|
+
ADD Gemfile.lock /app/Gemfile.lock
|
18
|
+
|
19
|
+
RUN bundle install
|
20
|
+
|
21
|
+
ADD . /app
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ Set of tools every Ruby developer needs to provide quality Ruby code.
|
|
11
11
|
`spec.add_development_dependency 'development-toolbox'`
|
12
12
|
* _developing an app:_
|
13
13
|
1. Add this line to your application's Gemfile:
|
14
|
-
`gem 'development-toolbox'`
|
14
|
+
`gem 'development-toolbox', group: %i[development test]`
|
15
15
|
1. And then execute: `bundle` to install required dependencies.
|
16
16
|
* _Or install it yourself if you have no code yet:_
|
17
17
|
1. Execute `gem install development-toolbox`
|
data/development-toolbox.gemspec
CHANGED
@@ -24,9 +24,11 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.require_paths = ['lib']
|
25
25
|
|
26
26
|
spec.add_runtime_dependency 'bundler', '~> 1.13'
|
27
|
+
spec.add_runtime_dependency 'bundler-audit', '~> 0.5'
|
28
|
+
spec.add_runtime_dependency 'commonmarker', '~> 0.14'
|
29
|
+
spec.add_runtime_dependency 'github-markup', '~> 1.6'
|
27
30
|
spec.add_runtime_dependency 'rake', '~> 12.0'
|
28
31
|
spec.add_runtime_dependency 'rspec', '~> 3.5'
|
29
32
|
spec.add_runtime_dependency 'rubocop', '~> 0.48'
|
30
33
|
spec.add_runtime_dependency 'yard', '~> 0.9'
|
31
|
-
spec.add_runtime_dependency 'kramdown', '~> 1.13'
|
32
34
|
end
|
data/docker-compose.yml
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'commonmarker'
|
4
|
+
|
5
|
+
module CommonMarker
|
6
|
+
# Compatibility with the RedCloth API.
|
7
|
+
# @see https://github.com/vmg/redcarpet/blob/master/lib/redcarpet/compat.rb#L1
|
8
|
+
class CompatRenderer
|
9
|
+
attr_accessor :text
|
10
|
+
|
11
|
+
GITHUB_EXTENSIONS = %i[tagfilter autolink table strikethrough].freeze
|
12
|
+
|
13
|
+
def initialize(text, exts = GITHUB_EXTENSIONS, options: :GITHUB_PRE_LANG)
|
14
|
+
@text = text
|
15
|
+
@extensions = GITHUB_EXTENSIONS | exts
|
16
|
+
@options = options
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_html(*_dummy)
|
20
|
+
CommonMarker.render_html(text, options, extensions)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
# @return [String]
|
26
|
+
attr_reader :text
|
27
|
+
|
28
|
+
# @return [Symbol]
|
29
|
+
attr_reader :options
|
30
|
+
|
31
|
+
# @return [<Symbol>]
|
32
|
+
attr_reader :extensions
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'yard'
|
4
|
+
require 'yard/templates/helpers/markup_helper'
|
5
|
+
require 'commonmarker/compat_renderer'
|
6
|
+
require 'github-markup'
|
7
|
+
require 'github/markup'
|
8
|
+
|
9
|
+
# @see https://github.com/lsegal/yard/blob/master/lib/yard/templates/helpers/markup_helper.rb#L26
|
10
|
+
YARD::Templates::Helpers::MarkupHelper::MARKUP_PROVIDERS[:markdown] <<
|
11
|
+
{ lib: :commonmarker, const: 'CommonMarker::CompatRenderer' }
|
data/rakelib/audit.rake
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bundler/audit/cli'
|
4
|
+
|
5
|
+
namespace :audit do
|
6
|
+
desc 'Updates the ruby-advisory-db'
|
7
|
+
task :update do
|
8
|
+
Bundler::Audit::CLI.start %w[update]
|
9
|
+
end
|
10
|
+
|
11
|
+
desc 'Check bundle for vulnerable dependencies'
|
12
|
+
task test: :update do
|
13
|
+
Bundler::Audit::CLI.start %w[check]
|
14
|
+
end
|
15
|
+
end
|
data/rakelib/test.rake
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: development-toolbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Semyonov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -24,6 +24,48 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.13'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler-audit
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.5'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.5'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: commonmarker
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.14'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.14'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: github-markup
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.6'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.6'
|
27
69
|
- !ruby/object:Gem::Dependency
|
28
70
|
name: rake
|
29
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,20 +122,6 @@ dependencies:
|
|
80
122
|
- - "~>"
|
81
123
|
- !ruby/object:Gem::Version
|
82
124
|
version: '0.9'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: kramdown
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1.13'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '1.13'
|
97
125
|
description: Efficient Developer tools
|
98
126
|
email:
|
99
127
|
- alex@semyonov.us
|
@@ -109,7 +137,9 @@ files:
|
|
109
137
|
- ".rubocop.yml"
|
110
138
|
- ".rubocop_todo.yml"
|
111
139
|
- ".travis.yml"
|
140
|
+
- ".yardopts"
|
112
141
|
- CODE_OF_CONDUCT.md
|
142
|
+
- Dockerfile
|
113
143
|
- Gemfile
|
114
144
|
- LICENSE
|
115
145
|
- README.md
|
@@ -131,10 +161,15 @@ files:
|
|
131
161
|
- bin/yardoc
|
132
162
|
- bin/yri
|
133
163
|
- development-toolbox.gemspec
|
164
|
+
- docker-compose.yml
|
134
165
|
- exe/development-toolbox
|
166
|
+
- lib/commonmarker/compat.rb
|
167
|
+
- lib/commonmarker/compat_renderer.rb
|
135
168
|
- lib/development/tasks.rb
|
136
169
|
- lib/development/toolbox.rb
|
137
170
|
- lib/development/toolbox/version.rb
|
171
|
+
- lib/yard/templates/helpers/markup_helper/commonmarker.rb
|
172
|
+
- rakelib/audit.rake
|
138
173
|
- rakelib/default.rake
|
139
174
|
- rakelib/doc.rake
|
140
175
|
- rakelib/spec.rake
|
@@ -160,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
195
|
version: '0'
|
161
196
|
requirements: []
|
162
197
|
rubyforge_project:
|
163
|
-
rubygems_version: 2.6.
|
198
|
+
rubygems_version: 2.6.11
|
164
199
|
signing_key:
|
165
200
|
specification_version: 4
|
166
201
|
summary: Development toolbox for a Ruby programmer
|