gem_toys 0.1.0 → 0.6.0

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
2
  SHA256:
3
- metadata.gz: 8fc9bcdb919f2a0f201a81e39147393ae2fb8b3a6caa37cd38944770cef390de
4
- data.tar.gz: ad694499de8f8a2db342c748ada96842cfb3396dc53ed33b35d1928ca89b078c
3
+ metadata.gz: 16feed698462675a843e0f84ec189d550db52292eee4c37d10f9b8352dcbed50
4
+ data.tar.gz: 5f523a901ef6e5256979056261f6b1c7051585e27e9bf9f37550ab7545215f3d
5
5
  SHA512:
6
- metadata.gz: 3100babf6998a170b6d51c5e9f33a71e1e11742cd915a106d43a017190e21f9c7b629984c6729271f4f3c38f8b5024d6e696e0c448594e8ec48166edbdbcbee7
7
- data.tar.gz: 36e525c0564e2685e4c404cc3f8f7aaf0ec03f04486b0fc4470bd1c69f752ddd4bd37a2ac130cf9d6701eebf9fc84747c705792a1fba261aef8a2242de737516
6
+ metadata.gz: 93aac7e65dbf9093754f3dc82f0770299feba396fcba5c89d70ffebc35a3208567891171830a99a1a9d962d8d2ae258b6a4adff242eae02babcb4f0578561b17
7
+ data.tar.gz: 04c08eb4ac3c2e552fe24413833fd4f3338dd0186aedd835ce2ed1cb3e2d17e0b391c90ed6ad0620f465a255558f93c5ac6c0b6a8f6a8971992794338c0272cf
data/CHANGELOG.md CHANGED
@@ -2,6 +2,42 @@
2
2
 
3
3
  ## master (unreleased)
4
4
 
5
+ ## 0.6.0 (2021-02-10)
6
+
7
+ * Support Ruby 3.
8
+ * Fix error with undefined `FileUtils`.
9
+ * Fix error with `release` tool via updating `alt_memery` to a fixed version.
10
+ * Update development dependencies.
11
+
12
+ ## 0.5.0 (2020-11-29)
13
+
14
+ * Add `versions` tool with `releases` alias.
15
+ * Add `version` tool.
16
+ * Add an ability to release new `major`, `minor` or `patch` version.
17
+ Just specify keyword instead of number and it'll increase correctly.
18
+ * Print `git diff` for files which will be commited on `release`.
19
+ * Drop Ruby 2.4 support.
20
+ [Support of Ruby 2.4 has ended](https://www.ruby-lang.org/en/news/2020/04/05/support-of-ruby-2-4-has-ended/).
21
+ * Add and use `memery` dependency.
22
+ * Update `rubocop`, `remark`.
23
+
24
+ ## 0.4.0 (2020-09-21)
25
+
26
+ * Improve version update script, support files with other String constants.
27
+ * Update bundle.
28
+
29
+ ## 0.3.0 (2020-07-11)
30
+
31
+ * Add support for Ruby 2.4
32
+
33
+ ## 0.2.0 (2020-07-09)
34
+
35
+ * Add `:version_file_path` and `:unreleased_title` options
36
+ * Change the order of tasks: check (manually) before committing.
37
+ * Include `:exec` only unless already included.
38
+ * Improve usage documentation.
39
+ * Add output of process steps.
40
+
5
41
  ## 0.1.0 (2020-07-08)
6
42
 
7
43
  * Initial commit
data/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # Gem Toys
2
2
 
3
- ![Cirrus CI - Base Branch Build Status](https://img.shields.io/cirrus/github/AlexWayfer/gem_toys?style=flat-square)
3
+ [![Cirrus CI - Base Branch Build Status](https://img.shields.io/cirrus/github/AlexWayfer/gem_toys?style=flat-square)](https://cirrus-ci.com/github/AlexWayfer/gem_toys)
4
4
  [![Codecov branch](https://img.shields.io/codecov/c/github/AlexWayfer/gem_toys/master.svg?style=flat-square)](https://codecov.io/gh/AlexWayfer/gem_toys)
5
5
  [![Code Climate](https://img.shields.io/codeclimate/maintainability/AlexWayfer/gem_toys.svg?style=flat-square)](https://codeclimate.com/github/AlexWayfer/gem_toys)
6
- ![Depfu](https://img.shields.io/depfu/AlexWayfer/gem_toys?style=flat-square)
6
+ [![Depfu](https://img.shields.io/depfu/AlexWayfer/benchmark_toys?style=flat-square)](https://depfu.com/repos/github/AlexWayfer/gem_toys)
7
7
  [![Inline docs](https://inch-ci.org/github/AlexWayfer/gem_toys.svg?branch=master)](https://inch-ci.org/github/AlexWayfer/gem_toys)
8
- [![license](https://img.shields.io/github/license/AlexWayfer/gem_toys.svg?style=flat-square)](https://github.com/AlexWayfer/gem_toys/blob/master/LICENSE)
8
+ [![license](https://img.shields.io/github/license/AlexWayfer/gem_toys.svg?style=flat-square)](https://github.com/AlexWayfer/gem_toys/blob/master/LICENSE.txt)
9
9
  [![Gem](https://img.shields.io/gem/v/gem_toys.svg?style=flat-square)](https://rubygems.org/gems/gem_toys)
10
10
 
11
11
  [Toys](https://github.com/dazuma/toys) template for gems, like building, releasing, etc.
@@ -41,16 +41,39 @@ expand GemToys::Template
41
41
  alias_tool :g, :gem
42
42
  ```
43
43
 
44
+ ### Build
45
+
46
+ `toys gem build` builds a gem with the current version and move it to the `pkg/` directory.
47
+
48
+ ### Install
49
+
50
+ `toys gem install` [builds](#build) a gem and install it locally.
51
+
52
+ ### Release
53
+
54
+ `toys gem release` does:
55
+
56
+ 1. Update `lib/*gem_name*/version.rb` file.
57
+ Can be refined with `:version_file_path` option on `expand`.
58
+ 2. Insert Markdown title with changes from `## master (unreleased)` in a `CHANGELOG.md` file.
59
+ Can be refined with `:unreleased_title` option on `expand`.
60
+ 3. [Builds](#build) a gem.
61
+ 4. Ask you for manual check, if you want (print anything of OK).
62
+ You also can change manually a content of `CHANGELOG.md`, for example, before committing.
63
+ 5. Commit these files.
64
+ 6. Tag this commit with `vX.Y.Z`.
65
+ 7. Push git commit and tag.
66
+ 8. Push the new gem.
67
+
44
68
  ## Development
45
69
 
46
70
  After checking out the repo, run `bundle install` to install dependencies.
47
- Then, run `bundle exec rspec` to run the tests.
71
+
72
+ Then, run `toys rspec` to run the tests.
48
73
 
49
74
  To install this gem onto your local machine, run `toys gem install`.
50
- To release a new version, update the version number in `version.rb`,
51
- and then run `bundle exec rake release`, which will create a git tag
52
- for the version, push git commits and tags, and push the `.gem` file
53
- to [rubygems.org](https://rubygems.org).
75
+
76
+ To release a new version, run `toys gem release %version%`. See how it works [here](#release).
54
77
 
55
78
  ## Contributing
56
79
 
@@ -1,147 +1,72 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'date'
4
3
  require 'toys-core'
5
4
 
5
+ require_relative 'template/common_code'
6
+
6
7
  module GemToys
7
8
  ## Template with gem tools, should be expanded in toys file
8
9
  class Template
9
10
  include Toys::Template
10
11
 
11
- ## Module for common code between nested tools
12
- module CommonCode
13
- private
14
-
15
- def project_name
16
- @project_name ||= File.basename context_directory
17
- end
18
-
19
- def version_file_path
20
- project_path = project_name.tr '-', '/'
21
- @version_file_path ||= File.join context_directory, 'lib', project_path, 'version.rb'
22
- end
23
-
24
- def version_file_content
25
- File.read version_file_path
26
- end
27
-
28
- def current_version
29
- @current_version ||= version_file_content.match(/VERSION = '(.+)'/)[1]
30
- end
31
-
32
- def changelog_file_path
33
- @changelog_file_path ||= File.join context_directory, 'CHANGELOG.md'
34
- end
35
-
36
- def gem_file_name
37
- @gem_file_name ||= "#{project_name}-#{current_version}.gem"
38
- end
12
+ attr_reader :version_file_path, :unreleased_title
39
13
 
40
- def pkg_directory
41
- @pkg_directory ||= "#{context_directory}/pkg"
42
- end
43
-
44
- def current_gem_file
45
- "#{pkg_directory}/#{gem_file_name}"
46
- end
14
+ def initialize(version_file_path: nil, unreleased_title: '## master (unreleased)')
15
+ @version_file_path = version_file_path
16
+ @unreleased_title = unreleased_title
47
17
  end
48
18
 
49
- on_expand do
19
+ on_expand do |template|
50
20
  tool :gem do
51
21
  subtool_apply do
52
- include :exec, exit_on_nonzero_status: true, log_level: Logger::UNKNOWN
22
+ unless include? :exec
23
+ include :exec, exit_on_nonzero_status: true, log_level: Logger::UNKNOWN
24
+ end
25
+
53
26
  include CommonCode
54
27
  end
55
28
 
56
29
  tool :build do
57
- def run
30
+ to_run do
31
+ @template = template
32
+
58
33
  sh 'gem build'
34
+
35
+ require 'fileutils'
59
36
  FileUtils.mkdir_p pkg_directory
60
37
  FileUtils.mv "#{context_directory}/#{gem_file_name}", current_gem_file
61
38
  end
62
39
  end
63
40
 
64
41
  tool :install do
65
- def run
42
+ to_run do
43
+ @template = template
44
+
66
45
  exec_tool 'gem build'
67
46
  sh "gem install #{current_gem_file}"
68
47
  end
69
48
  end
70
49
 
71
- tool :release do
72
- required_arg :version
73
-
74
- def run
75
- update_version_file
76
-
77
- ## Update CHANGELOG
78
- update_changelog_file
79
-
80
- ## Checkout to a new git branch, required for protected `master` with CI
81
- # sh "git switch -c v#{version}"
82
-
83
- commit_changes
50
+ tool :version do
51
+ to_run do
52
+ @template = template
84
53
 
85
- ## Tag commit
86
- sh "git tag -a v#{version} -m 'Version #{version}'"
87
-
88
- ## Build new gem file
89
- exec_tool 'gem build'
90
-
91
- wait_for_manual_check
92
-
93
- ## Push commit
94
- sh 'git push'
95
-
96
- ## Push tags
97
- sh 'git push --tags'
98
-
99
- sh "gem push #{current_gem_file}"
100
- end
101
-
102
- private
103
-
104
- def update_version_file
105
- File.write version_file_path, version_file_content.sub(/'.+'/, "'#{version}'")
106
- end
107
-
108
- TODAY = Date.today.to_s
109
-
110
- def update_changelog_file
111
- @changelog_lines = File.readlines(changelog_file_path)
112
-
113
- existing_line = find_version_line_in_changelog_file
114
-
115
- if existing_line
116
- return if (existing_date = existing_line.match(/\((.*)\)/)[1]) == TODAY
117
-
118
- abort "There is already #{version} version with date #{existing_date}"
54
+ version = rubygems_versions.find(-> { current_version_hash }) do |rubygems_version|
55
+ rubygems_version[:number] == current_version
119
56
  end
120
57
 
121
- File.write changelog_file_path, new_changelog_content
122
- end
123
-
124
- def find_version_line_in_changelog_file
125
- @changelog_lines.find { |line| line.start_with? "## #{version} " }
126
- end
127
-
128
- def new_changelog_content
129
- @changelog_lines.insert(
130
- @changelog_lines.index("## master (unreleased)\n") + 2, "## #{version} (#{TODAY})\n\n"
131
- ).join
58
+ puts_versions [version]
132
59
  end
60
+ end
133
61
 
134
- def commit_changes
135
- sh "git add #{version_file_path} #{changelog_file_path}"
136
-
137
- sh "git commit -m 'Update version to #{version}'"
138
- end
62
+ require_relative 'template/versions'
63
+ expand Template::Versions,
64
+ version_file_path: template.version_file_path
139
65
 
140
- def wait_for_manual_check
141
- STDOUT.puts 'Please, validate files and commits before pushing.'
142
- STDIN.gets
143
- end
144
- end
66
+ require_relative 'template/release'
67
+ expand Template::Release,
68
+ version_file_path: template.version_file_path,
69
+ unreleased_title: template.unreleased_title
145
70
  end
146
71
  end
147
72
  end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'memery'
4
+
5
+ module GemToys
6
+ ## Template with gem tools, should be expanded in toys file
7
+ class Template
8
+ ## Module for common code between nested tools
9
+ module CommonCode
10
+ include Memery
11
+
12
+ private
13
+
14
+ memoize def project_name
15
+ File.basename context_directory
16
+ end
17
+
18
+ memoize def version_file_path
19
+ @template.version_file_path ||
20
+ begin
21
+ project_path = project_name.tr '-', '/'
22
+ File.join context_directory, 'lib', project_path, 'version.rb'
23
+ end
24
+ end
25
+
26
+ def version_file_content
27
+ File.read version_file_path
28
+ end
29
+
30
+ memoize def current_version
31
+ version_file_content.match(/VERSION = '(.+)'/)[1]
32
+ end
33
+
34
+ memoize def changelog_file_path
35
+ File.join context_directory, 'CHANGELOG.md'
36
+ end
37
+
38
+ memoize def gem_file_name
39
+ "#{project_name}-#{current_version}.gem"
40
+ end
41
+
42
+ memoize def pkg_directory
43
+ "#{context_directory}/pkg"
44
+ end
45
+
46
+ def current_gem_file
47
+ "#{pkg_directory}/#{gem_file_name}"
48
+ end
49
+
50
+ memoize def rubygems_connection
51
+ require 'faraday'
52
+ require 'faraday_middleware'
53
+
54
+ Faraday.new 'https://rubygems.org/api/v1' do |conn|
55
+ conn.response :json, parser_options: { symbolize_names: true }
56
+ end
57
+ end
58
+
59
+ memoize def rubygems_versions
60
+ rubygems_connection.get("versions/#{project_name}.json").body
61
+ end
62
+
63
+ def current_version_hash
64
+ { number: current_version, created_at: 'unreleased' }
65
+ end
66
+
67
+ def puts_versions(versions)
68
+ require 'date'
69
+
70
+ longest_version_number = versions.map { |version| version[:number].length }.max
71
+
72
+ versions.each do |version|
73
+ created_at = begin
74
+ DateTime.parse(version[:created_at]).strftime('%b %e %Y %R')
75
+ rescue Date::Error
76
+ version[:created_at]
77
+ end
78
+
79
+ puts "#{version[:number].ljust(longest_version_number)} (#{created_at})"
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,147 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GemToys
4
+ class Template
5
+ ## Template with gem release tool, expanding internally
6
+ class Release
7
+ include Toys::Template
8
+
9
+ attr_reader :version_file_path, :unreleased_title
10
+
11
+ def initialize(version_file_path:, unreleased_title:)
12
+ @version_file_path = version_file_path
13
+ @unreleased_title = unreleased_title
14
+ end
15
+
16
+ on_expand do |template|
17
+ tool :release do
18
+ required_arg :new_version
19
+
20
+ to_run do
21
+ require 'date'
22
+
23
+ @template = template
24
+
25
+ @today = Date.today.to_s
26
+
27
+ handle_new_version
28
+
29
+ update_version_file
30
+
31
+ ## Update CHANGELOG
32
+ update_changelog_file
33
+
34
+ ## Build new gem file
35
+ exec_tool 'gem build'
36
+
37
+ wait_for_manual_check
38
+
39
+ ## Checkout to a new git branch, required for protected `master` with CI
40
+ # sh "git switch -c v#{@new_version}"
41
+
42
+ commit_changes
43
+
44
+ ## Tag commit
45
+ puts 'Tagging the commit...'
46
+ sh "git tag -a v#{@new_version} -m 'Version #{@new_version}'"
47
+
48
+ ## Push commit
49
+ puts 'Pushing commit...'
50
+ sh 'git push'
51
+
52
+ ## Push tags
53
+ puts 'Pushing tags...'
54
+ sh 'git push --tags'
55
+
56
+ puts 'Pushing gem...'
57
+ sh "gem push #{current_gem_file}"
58
+ end
59
+
60
+ private
61
+
62
+ self::VERSION_TYPES = %w[
63
+ major
64
+ minor
65
+ patch
66
+ ].freeze
67
+
68
+ def handle_new_version
69
+ ## https://github.com/dazuma/toys/issues/103
70
+ @new_version =
71
+ if (version_index = self.class::VERSION_TYPES.index(new_version))
72
+ current_version_parts =
73
+ current_version.split('.')[0..(self.class::VERSION_TYPES.count - 1)]
74
+ handle_keyword_in_new_version current_version_parts, version_index
75
+ else
76
+ new_version
77
+ end
78
+
79
+ clear_memery_cache! :current_version
80
+ end
81
+
82
+ def handle_keyword_in_new_version(current_version_parts, version_index)
83
+ current_version_parts.map.with_index do |version_part, index|
84
+ if index < version_index
85
+ version_part
86
+ elsif index == version_index
87
+ Integer(version_part) + 1
88
+ else
89
+ 0
90
+ end
91
+ end.join('.')
92
+ end
93
+
94
+ def update_version_file
95
+ puts 'Updating version file...'
96
+
97
+ File.write(
98
+ version_file_path,
99
+ version_file_content.sub(/(VERSION = )'.+'/, "\\1'#{@new_version}'")
100
+ )
101
+ end
102
+
103
+ def update_changelog_file
104
+ puts 'Updating changelog file...'
105
+
106
+ @changelog_lines = File.readlines(changelog_file_path)
107
+
108
+ existing_line = @changelog_lines.find { |line| line.start_with? "## #{@new_version} " }
109
+
110
+ if existing_line
111
+ return if (existing_date = existing_line.match(/\((.*)\)/)[1]) == @today
112
+
113
+ abort "There is already #{version} version with date #{existing_date}"
114
+ end
115
+
116
+ File.write changelog_file_path, new_changelog_content
117
+ end
118
+
119
+ def new_changelog_content
120
+ unreleased_title = @template.unreleased_title
121
+ @changelog_lines.insert(
122
+ @changelog_lines.index("#{unreleased_title}\n") + 2,
123
+ '#' * unreleased_title.scan(/^#+/).first.size + " #{@new_version} (#{@today})\n\n"
124
+ ).join
125
+ end
126
+
127
+ def commit_changes
128
+ puts 'Committing changes...'
129
+
130
+ sh "git add #{version_file_path} #{changelog_file_path}"
131
+
132
+ sh "git commit -m 'Update version to #{@new_version}'"
133
+ end
134
+
135
+ def wait_for_manual_check
136
+ $stdout.puts
137
+ sh "git diff #{version_file_path} #{changelog_file_path}"
138
+ $stdout.puts
139
+ $stdout.puts 'Please, validate files before committing and pushing!'
140
+ $stdout.puts 'Press anything to continue, Ctrl+C to cancel.'
141
+ $stdin.gets
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GemToys
4
+ class Template
5
+ ## Template with gem versions tool, expanding internally
6
+ class Versions
7
+ include Toys::Template
8
+
9
+ attr_reader :version_file_path
10
+
11
+ def initialize(version_file_path:)
12
+ @version_file_path = version_file_path
13
+ end
14
+
15
+ on_expand do |template|
16
+ tool :versions do
17
+ to_run do
18
+ @template = template
19
+
20
+ versions = rubygems_versions
21
+
22
+ versions.unshift current_version_hash if current_version != versions.first[:number]
23
+
24
+ puts_versions versions
25
+ end
26
+ end
27
+ alias_tool :releases, :versions
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GemToys
4
- VERSION = '0.1.0'
4
+ VERSION = '0.6.0'
5
5
  end
metadata CHANGED
@@ -1,15 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem_toys
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Popov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-07 00:00:00.000000000 Z
11
+ date: 2021-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: alt_memery
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday_middleware
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
13
55
  - !ruby/object:Gem::Dependency
14
56
  name: pry-byebug
15
57
  requirement: !ruby/object:Gem::Requirement
@@ -44,28 +86,28 @@ dependencies:
44
86
  requirements:
45
87
  - - "~>"
46
88
  - !ruby/object:Gem::Version
47
- version: 0.10.0
89
+ version: 0.11.0
48
90
  type: :development
49
91
  prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
94
  - - "~>"
53
95
  - !ruby/object:Gem::Version
54
- version: 0.10.0
96
+ version: 0.11.0
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: codecov
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - "~>"
60
102
  - !ruby/object:Gem::Version
61
- version: 0.1.0
103
+ version: 0.4.2
62
104
  type: :development
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
108
  - - "~>"
67
109
  - !ruby/object:Gem::Version
68
- version: 0.1.0
110
+ version: 0.4.2
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: rspec
71
113
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +128,28 @@ dependencies:
86
128
  requirements:
87
129
  - - "~>"
88
130
  - !ruby/object:Gem::Version
89
- version: 0.18.0
131
+ version: 0.21.2
90
132
  type: :development
91
133
  prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - "~>"
95
137
  - !ruby/object:Gem::Version
96
- version: 0.18.0
138
+ version: 0.21.2
97
139
  - !ruby/object:Gem::Dependency
98
140
  name: rubocop
99
141
  requirement: !ruby/object:Gem::Requirement
100
142
  requirements:
101
143
  - - "~>"
102
144
  - !ruby/object:Gem::Version
103
- version: 0.86.0
145
+ version: '1.2'
104
146
  type: :development
105
147
  prerelease: false
106
148
  version_requirements: !ruby/object:Gem::Requirement
107
149
  requirements:
108
150
  - - "~>"
109
151
  - !ruby/object:Gem::Version
110
- version: 0.86.0
152
+ version: '1.2'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: rubocop-performance
113
155
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +170,14 @@ dependencies:
128
170
  requirements:
129
171
  - - "~>"
130
172
  - !ruby/object:Gem::Version
131
- version: '1.0'
173
+ version: '2.0'
132
174
  type: :development
133
175
  prerelease: false
134
176
  version_requirements: !ruby/object:Gem::Requirement
135
177
  requirements:
136
178
  - - "~>"
137
179
  - !ruby/object:Gem::Version
138
- version: '1.0'
180
+ version: '2.0'
139
181
  description: 'Toys template for gems, like building, releasing, etc.
140
182
 
141
183
  '
@@ -150,6 +192,9 @@ files:
150
192
  - README.md
151
193
  - lib/gem_toys.rb
152
194
  - lib/gem_toys/template.rb
195
+ - lib/gem_toys/template/common_code.rb
196
+ - lib/gem_toys/template/release.rb
197
+ - lib/gem_toys/template/versions.rb
153
198
  - lib/gem_toys/version.rb
154
199
  homepage: https://github.com/AlexWayfer/gem_toys
155
200
  licenses:
@@ -167,13 +212,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
167
212
  - - ">="
168
213
  - !ruby/object:Gem::Version
169
214
  version: '2.5'
215
+ - - "<"
216
+ - !ruby/object:Gem::Version
217
+ version: '4'
170
218
  required_rubygems_version: !ruby/object:Gem::Requirement
171
219
  requirements:
172
220
  - - ">="
173
221
  - !ruby/object:Gem::Version
174
222
  version: '0'
175
223
  requirements: []
176
- rubygems_version: 3.1.2
224
+ rubygems_version: 3.2.3
177
225
  signing_key:
178
226
  specification_version: 4
179
227
  summary: Toys template for gems