gem-bootstrap 0.1.0 → 0.1.4

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
- SHA1:
3
- metadata.gz: 565a02a27168251cd3ff2c3453ee2d3e1f1718b3
4
- data.tar.gz: c51cb50b1249d4e155e5e50393a2156aa598260c
2
+ SHA256:
3
+ metadata.gz: 9f9d7f800bcef5bffe6bc5258ffeb6f7983649e852ba828d9ded5f85983a8e84
4
+ data.tar.gz: 0ec7c6d4f410526472ac1a1a688dfe14ec7a0689813f82e02678470a35a2cd78
5
5
  SHA512:
6
- metadata.gz: 8368cc83b8d6eca9656045ab14ca23646f5767f4e56d53dec340f92a7976fe7e18547de9873fe68aa1d6f21610deb31357b6dc66c3c92fd1236a1e355564c2f9
7
- data.tar.gz: d0d4e90a339689178b3aa3fe796d55567ff7914743504fac88e16ad99f091b703265e03cdd197a49083797aae27bde306053b9551fd06eca4a258b4218e33a1b
6
+ metadata.gz: 96a798244eb7417ab742a7d51b28592544994899c5424dfd6c894483cf993fd507815bc45b7de64fa170708f6588c227b688cb006e2e957178865155b9732ffe
7
+ data.tar.gz: d5025217e5b59bc024dd7f439a013a9cde536dab20a87a5be13cf33b19e78af5802ea405e3f943676fa77947e358472f74bfc82c1b3f99eca1265612841d050e
File without changes
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ # {{project_summary}}
4
+ module {{module_name}}; end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
4
+
5
+ require 'simplecov'
6
+ require 'coveralls'
7
+
8
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
9
+ Coveralls::SimpleCov::Formatter,
10
+ SimpleCov::Formatter::HTMLFormatter,
11
+ ])
12
+ SimpleCov.start
13
+
14
+ require '{{gem_name}}'
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ desc 'Builds the documentation'
4
+ task 'docs' => [
5
+ 'docs:clean',
6
+ 'docs:build',
7
+ 'docs:tgz',
8
+ ]
9
+
10
+ task 'docs:build' do
11
+ sh('yard')
12
+ end
13
+
14
+ task 'docs:clean' do
15
+ rm_rf('.yardoc')
16
+ rm_rf('docs')
17
+ rm_rf('docs.tgz')
18
+ end
19
+
20
+ task 'docs:tgz' => ['docs:build'] do
21
+ sh('tar czf docs.tgz docs/')
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ desc 'Builds a gem'
4
+ task 'gem' => [
5
+ 'gem:clean',
6
+ 'gem:build',
7
+ ]
8
+
9
+ task 'gem:build' do
10
+ sh('gem build {{gem_name}}.gemspec')
11
+ end
12
+
13
+ task 'gem:clean' do
14
+ Dir.glob('*.gem').each do |gem_path|
15
+ rm_f(gem_path)
16
+ end
17
+ end
18
+
19
+ task 'gem:install' => ['gem:clean', 'gem:build'] do
20
+ path = Dir.glob('*.gem').first
21
+ sh("gem install #{path}")
22
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'semver-string'
4
+
5
+ def version
6
+ if ENV['VERSION'].to_s.empty?
7
+ warn('usage: VERSION=x.y.z rake release')
8
+ exit(1)
9
+ end
10
+ begin
11
+ Semver::String.parse(ENV['VERSION'])
12
+ rescue Semver::InvalidFormatError => e
13
+ warn("ENV['VERSION'] #{e.message}")
14
+ exit(1)
15
+ end
16
+ end
17
+
18
+ desc 'Releases a new version of {{gem_name}}'
19
+ task 'release' => [
20
+ 'release:require-clean-workspace',
21
+ 'test',
22
+ 'release:changelog',
23
+ 'release:tag',
24
+ 'release:push',
25
+ ]
26
+
27
+ task 'release:require-clean-workspace' do
28
+ unless `git diff --shortstat 2> /dev/null | tail -n1` == ''
29
+ warn('workspace must be clean to release')
30
+ exit(1)
31
+ end
32
+ end
33
+
34
+ task 'release:changelog' do
35
+ changelog = File.read('CHANGELOG.md').lines
36
+ changelog = changelog[0..4] + [nil, nil, nil] + changelog[5..-1]
37
+ changelog[5] = "v#{version} (#{Time.now.strftime('%Y-%m-%d')})\n"
38
+ changelog[6] = '-' * changelog[5].chars.count + "\n"
39
+ changelog[7] = "\n"
40
+ File.write('CHANGELOG.md', changelog.join)
41
+ sh('git add CHANGELOG.md')
42
+ end
43
+
44
+ task 'release:tag' do
45
+ File.write('VERSION', "#{version}\n")
46
+ git_cmd = '$(git describe --tags --abbrev=0)'
47
+ git_cmd = "git log #{git_cmd}...HEAD -E --grep '#[0-9]+' 2>/dev/null"
48
+ issues = `#{git_cmd}`.scan(%r{((?:\S+/\S+)?#\d+)}).flatten
49
+ msg = "Tag release v#{version}"
50
+ msg += "\n\nReferences: #{issues.uniq.sort.join(', ')}" unless issues.empty?
51
+ sh('git add VERSION')
52
+ sh("git commit -m \"Bump version to v#{version}\"")
53
+ sh("git tag -a -m #{msg.inspect} v#{version}")
54
+ end
55
+
56
+ task 'release:push' do
57
+ sh('git push origin')
58
+ sh('git push origin --tags')
59
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rubocop/rake_task'
4
+
5
+ RuboCop::RakeTask.new('rubocop')
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ desc 'Runs the test suite'
4
+ task 'test' => [
5
+ 'test:clean',
6
+ 'test:spec',
7
+ ]
8
+
9
+ task 'test:clean' do
10
+ rm_rf('coverage')
11
+ end
12
+
13
+ task 'test:spec' do
14
+ sh('bundle exec rspec')
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem-bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Incognito Coder
@@ -280,11 +280,11 @@ description:
280
280
  email:
281
281
  - theincognitocoder@gmail.com
282
282
  executables:
283
- - gem-boostrap
283
+ - gem-bootstrap
284
284
  extensions: []
285
285
  extra_rdoc_files: []
286
286
  files:
287
- - bin/gem-boostrap
287
+ - bin/gem-bootstrap
288
288
  - lib/gem-bootstrap.rb
289
289
  - lib/gem-bootstrap/builder.rb
290
290
  - lib/gem-bootstrap/cli.rb
@@ -303,6 +303,13 @@ files:
303
303
  - templates/README.md.mustache
304
304
  - templates/Rakefile.mustache
305
305
  - templates/VERSION.mustache
306
+ - templates/lib/{{gem_name}}.rb.mustache
307
+ - templates/spec/spec_helper.rb.mustache
308
+ - templates/tasks/docs.rake.mustache
309
+ - templates/tasks/gem.rake.mustache
310
+ - templates/tasks/release.rake.mustache
311
+ - templates/tasks/rubocop.rake.mustache
312
+ - templates/tasks/test.rake.mustache
306
313
  - templates/{{gem_name}}.gemspec.mustache
307
314
  homepage: https://github.com/theincognitocoder/gem-bootstrap
308
315
  licenses:
@@ -329,7 +336,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
329
336
  version: '0'
330
337
  requirements: []
331
338
  rubyforge_project:
332
- rubygems_version: 2.5.1
339
+ rubygems_version: 2.7.7
333
340
  signing_key:
334
341
  specification_version: 4
335
342
  summary: CLI for bootstrapping new Ruby gem projects.