gem_toys 0.4.0 → 0.7.1

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: 6726b77757e83675406164f809d24df97db7c6f62ccc868fb3bf36cc10345c05
4
- data.tar.gz: 3fa707cd47180bcb0783cfa4442aff662874cccdd5450287f33551b5de67c66a
3
+ metadata.gz: 061a23d19180942f3cb7ca6f4b43bfc5e48b5247e1ca45ec77969c0308cdf3aa
4
+ data.tar.gz: b57ac1d9e07c4a7f72ffaa3ff0e9d366160a47ffb2695232a7b928821ee0484c
5
5
  SHA512:
6
- metadata.gz: ac8fbbde1b554d7cff6d8b05003f2529a140d89269ec43412817d4ddfc0dfa8b104ad85378ebad470207fbe9c8cae1cfc7ff7dc984c484ffad2955156139105d
7
- data.tar.gz: 80708ae0701092648c7caa9f489a3477b88047ab1f5d970299e0ef8e376812b114d77656c55438b46ed863b5c376be01faf7bf1ebee90b8f158f3887abd20eda
6
+ metadata.gz: cec712bb01c015ba34dde170c5d7d855f56008e7234da72df02d8ed342dd9eb458ee06d7e4175e473dad213bba8f0229ca356fbc28a16ef06b42fe92186ea1b6
7
+ data.tar.gz: 5f0475c31feef1a52e77f59f4e30965c55401baa04fc425ca5a8864e9d6c0900d85e5fa06eac8936e2b09af0c498651e013e513cc1138b03f30e638c2678f540
data/CHANGELOG.md CHANGED
@@ -2,8 +2,49 @@
2
2
 
3
3
  ## master (unreleased)
4
4
 
5
+ ## 0.7.1 (2021-03-04)
6
+
7
+ * Fix error about non-renamed `version` in one of aborts.
8
+ * Improve Regexp for date of existing release.
9
+ Catch only content inside the last parentheses.
10
+
11
+ ## 0.7.0 (2021-03-04)
12
+
13
+ * Add `:changelog_file_name` option.
14
+ * Add `:version_tag_prefix` option.
15
+ * Change date format for `versions` tool.
16
+ * Add documentation about `:version_file_path` option.
17
+ * Split `release` tool into modules for RuboCop satisfaction.
18
+
19
+ ## 0.6.1 (2021-02-10)
20
+
21
+ * Gently abort when `unreleased_title` not found.
22
+ * Improve documentation about `:unreleased_title` option.
23
+
24
+ ## 0.6.0 (2021-02-10)
25
+
26
+ * Support Ruby 3.
27
+ * Fix error with undefined `FileUtils`.
28
+ * Fix error with `release` tool via updating `alt_memery` to a fixed version.
29
+ * Update development dependencies.
30
+
31
+ ## 0.5.0 (2020-11-29)
32
+
33
+ * Add `versions` tool with `releases` alias.
34
+ * Add `version` tool.
35
+ * Add an ability to release new `major`, `minor` or `patch` version.
36
+ Just specify keyword instead of number and it'll increase correctly.
37
+ * Print `git diff` for files which will be commited on `release`.
38
+ * Drop Ruby 2.4 support.
39
+ [Support of Ruby 2.4 has ended](https://www.ruby-lang.org/en/news/2020/04/05/support-of-ruby-2-4-has-ended/).
40
+ * Add and use `memery` dependency.
41
+ * Update `rubocop`, `remark`.
42
+
5
43
  ## 0.4.0 (2020-09-21)
6
44
 
45
+ * Improve version update script, support files with other String constants.
46
+ * Update bundle.
47
+
7
48
  ## 0.3.0 (2020-07-11)
8
49
 
9
50
  * Add support for Ruby 2.4
data/README.md CHANGED
@@ -35,7 +35,15 @@ gem install gem_toys
35
35
  ```ruby
36
36
  # .toys.rb
37
37
  require 'gem_toys'
38
- expand GemToys::Template
38
+ expand GemToys::Template,
39
+ ## default is `CHANGELOG.md`
40
+ changelog_file_name: 'ChangeLog.md',
41
+ ## default is `## master (unreleased)`
42
+ unreleased_title: '## Unreleased',
43
+ ## default is `"lib/#{project_name_with_slashes_instead_dashes}/version.rb"`
44
+ version_file_path: 'lib/my-awesome_gem.rb',
45
+ ## default is `v`, so tags are like `v4.1.0`
46
+ version_tag_prefix: ''
39
47
 
40
48
  # `gem` namespace created, aliases are optional, but handful
41
49
  alias_tool :g, :gem
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'date'
4
3
  require 'toys-core'
5
4
 
6
5
  require_relative 'template/common_code'
@@ -10,10 +9,17 @@ module GemToys
10
9
  class Template
11
10
  include Toys::Template
12
11
 
13
- attr_reader :version_file_path, :unreleased_title
12
+ attr_reader :changelog_file_name, :version_file_path, :version_tag_prefix, :unreleased_title
14
13
 
15
- def initialize(version_file_path: nil, unreleased_title: '## master (unreleased)')
14
+ def initialize(
15
+ changelog_file_name: 'CHANGELOG.md',
16
+ version_file_path: nil,
17
+ version_tag_prefix: 'v',
18
+ unreleased_title: '## master (unreleased)'
19
+ )
20
+ @changelog_file_name = changelog_file_name
16
21
  @version_file_path = version_file_path
22
+ @version_tag_prefix = version_tag_prefix
17
23
  @unreleased_title = unreleased_title
18
24
  end
19
25
 
@@ -32,6 +38,8 @@ module GemToys
32
38
  @template = template
33
39
 
34
40
  sh 'gem build'
41
+
42
+ require 'fileutils'
35
43
  FileUtils.mkdir_p pkg_directory
36
44
  FileUtils.mv "#{context_directory}/#{gem_file_name}", current_gem_file
37
45
  end
@@ -46,97 +54,28 @@ module GemToys
46
54
  end
47
55
  end
48
56
 
49
- tool :release do
50
- required_arg :version
51
-
57
+ tool :version do
52
58
  to_run do
53
59
  @template = template
54
60
 
55
- @today = Date.today.to_s
56
-
57
- update_version_file
58
-
59
- ## Update CHANGELOG
60
- update_changelog_file
61
-
62
- ## Build new gem file
63
- exec_tool 'gem build'
64
-
65
- wait_for_manual_check
66
-
67
- ## Checkout to a new git branch, required for protected `master` with CI
68
- # sh "git switch -c v#{version}"
69
-
70
- commit_changes
71
-
72
- ## Tag commit
73
- puts 'Tagging the commit...'
74
- sh "git tag -a v#{version} -m 'Version #{version}'"
75
-
76
- ## Push commit
77
- puts 'Pushing commit...'
78
- sh 'git push'
79
-
80
- ## Push tags
81
- puts 'Pushing tags...'
82
- sh 'git push --tags'
83
-
84
- puts 'Pushing gem...'
85
- sh "gem push #{current_gem_file}"
86
- end
87
-
88
- private
89
-
90
- def update_version_file
91
- puts 'Updating version file...'
92
-
93
- File.write(
94
- version_file_path,
95
- version_file_content.sub(/(VERSION = )'.+'/, "\\1'#{version}'")
96
- )
97
- end
98
-
99
- def update_changelog_file
100
- puts 'Updating changelog file...'
101
-
102
- @changelog_lines = File.readlines(changelog_file_path)
103
-
104
- existing_line = find_version_line_in_changelog_file
105
-
106
- if existing_line
107
- return if (existing_date = existing_line.match(/\((.*)\)/)[1]) == @today
108
-
109
- abort "There is already #{version} version with date #{existing_date}"
61
+ version = rubygems_versions.find(-> { current_version_hash }) do |rubygems_version|
62
+ rubygems_version[:number] == current_version
110
63
  end
111
64
 
112
- File.write changelog_file_path, new_changelog_content
113
- end
114
-
115
- def find_version_line_in_changelog_file
116
- @changelog_lines.find { |line| line.start_with? "## #{version} " }
65
+ puts_versions [version]
117
66
  end
67
+ end
118
68
 
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 + " #{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 #{version}'"
133
- end
69
+ require_relative 'template/versions'
70
+ expand Template::Versions,
71
+ version_file_path: template.version_file_path
134
72
 
135
- def wait_for_manual_check
136
- $stdout.puts 'Please, validate files and commits before pushing.'
137
- $stdin.gets
138
- end
139
- end
73
+ require_relative 'template/release'
74
+ expand Template::Release,
75
+ changelog_file_name: template.changelog_file_name,
76
+ version_file_path: template.version_file_path,
77
+ version_tag_prefix: template.version_tag_prefix,
78
+ unreleased_title: template.unreleased_title
140
79
  end
141
80
  end
142
81
  end
@@ -1,19 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'memery'
4
+
3
5
  module GemToys
4
6
  ## Template with gem tools, should be expanded in toys file
5
7
  class Template
6
8
  ## Module for common code between nested tools
7
9
  module CommonCode
10
+ include Memery
11
+
8
12
  private
9
13
 
10
- def project_name
11
- @project_name ||= File.basename context_directory
14
+ memoize def project_name
15
+ File.basename context_directory
12
16
  end
13
17
 
14
- def version_file_path
15
- @version_file_path ||=
16
- @template.version_file_path ||
18
+ memoize def version_file_path
19
+ @template.version_file_path ||
17
20
  begin
18
21
  project_path = project_name.tr '-', '/'
19
22
  File.join context_directory, 'lib', project_path, 'version.rb'
@@ -24,25 +27,58 @@ module GemToys
24
27
  File.read version_file_path
25
28
  end
26
29
 
27
- def current_version
28
- @current_version ||= version_file_content.match(/VERSION = '(.+)'/)[1]
30
+ memoize def current_version
31
+ version_file_content.match(/VERSION = '(.+)'/)[1]
29
32
  end
30
33
 
31
- def changelog_file_path
32
- @changelog_file_path ||= File.join context_directory, 'CHANGELOG.md'
34
+ memoize def changelog_file_path
35
+ File.join context_directory, @template.changelog_file_name
33
36
  end
34
37
 
35
- def gem_file_name
36
- @gem_file_name ||= "#{project_name}-#{current_version}.gem"
38
+ memoize def gem_file_name
39
+ "#{project_name}-#{current_version}.gem"
37
40
  end
38
41
 
39
- def pkg_directory
40
- @pkg_directory ||= "#{context_directory}/pkg"
42
+ memoize def pkg_directory
43
+ "#{context_directory}/pkg"
41
44
  end
42
45
 
43
46
  def current_gem_file
44
47
  "#{pkg_directory}/#{gem_file_name}"
45
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('%F %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
46
82
  end
47
83
  end
48
84
  end
@@ -0,0 +1,114 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'release/changelog'
4
+ require_relative 'release/git'
5
+
6
+ module GemToys
7
+ class Template
8
+ ## Template with gem release tool, expanding internally
9
+ class Release
10
+ include Toys::Template
11
+
12
+ attr_reader :changelog_file_name, :version_file_path, :version_tag_prefix, :unreleased_title
13
+
14
+ def initialize(
15
+ changelog_file_name:,
16
+ version_file_path:,
17
+ version_tag_prefix:,
18
+ unreleased_title:
19
+ )
20
+ @changelog_file_name = changelog_file_name
21
+ @version_file_path = version_file_path
22
+ @version_tag_prefix = version_tag_prefix
23
+ @unreleased_title = unreleased_title
24
+ end
25
+
26
+ on_expand do |template|
27
+ tool :release do
28
+ include Release::Changelog
29
+ include Release::Git
30
+
31
+ required_arg :new_version
32
+
33
+ to_run do
34
+ require 'date'
35
+
36
+ @template = template
37
+
38
+ @today = Date.today.to_s
39
+
40
+ handle_new_version
41
+
42
+ update_version_file
43
+
44
+ ## Update CHANGELOG
45
+ update_changelog_file
46
+
47
+ ## Build new gem file
48
+ exec_tool 'gem build'
49
+
50
+ wait_for_manual_check
51
+
52
+ ## Commit, tag, push
53
+ process_git
54
+
55
+ puts 'Pushing gem...'
56
+ sh "gem push #{current_gem_file}"
57
+ end
58
+
59
+ private
60
+
61
+ self::VERSION_TYPES = %w[
62
+ major
63
+ minor
64
+ patch
65
+ ].freeze
66
+
67
+ def handle_new_version
68
+ ## https://github.com/dazuma/toys/issues/103
69
+ @new_version =
70
+ if (version_index = self.class::VERSION_TYPES.index(new_version))
71
+ current_version_parts =
72
+ current_version.split('.')[0..(self.class::VERSION_TYPES.count - 1)]
73
+ handle_keyword_in_new_version current_version_parts, version_index
74
+ else
75
+ new_version
76
+ end
77
+
78
+ clear_memery_cache! :current_version
79
+ end
80
+
81
+ def handle_keyword_in_new_version(current_version_parts, version_index)
82
+ current_version_parts.map.with_index do |version_part, index|
83
+ if index < version_index
84
+ version_part
85
+ elsif index == version_index
86
+ Integer(version_part) + 1
87
+ else
88
+ 0
89
+ end
90
+ end.join('.')
91
+ end
92
+
93
+ def update_version_file
94
+ puts 'Updating version file...'
95
+
96
+ File.write(
97
+ version_file_path,
98
+ version_file_content.sub(/(VERSION = )'.+'/, "\\1'#{@new_version}'")
99
+ )
100
+ end
101
+
102
+ def wait_for_manual_check
103
+ $stdout.puts
104
+ sh "git diff #{version_file_path} #{changelog_file_path}"
105
+ $stdout.puts
106
+ $stdout.puts 'Please, validate files before committing and pushing!'
107
+ $stdout.puts 'Press anything to continue, Ctrl+C to cancel.'
108
+ $stdin.gets
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GemToys
4
+ class Template
5
+ class Release
6
+ ## Helper module with methods about CHANGELOG file for `release` tool
7
+ module Changelog
8
+ private
9
+
10
+ def update_changelog_file
11
+ puts 'Updating changelog file...'
12
+
13
+ @changelog_lines = File.readlines(changelog_file_path)
14
+
15
+ existing_line = @changelog_lines.find { |line| line.start_with? "## #{@new_version} " }
16
+
17
+ if existing_line
18
+ return if (existing_date = existing_line.scan(/\(([^()]+)\)/).last.first) == @today
19
+
20
+ abort "There is already #{new_version} version with date #{existing_date}"
21
+ end
22
+
23
+ File.write changelog_file_path, new_changelog_content
24
+ end
25
+
26
+ def new_changelog_content
27
+ unreleased_title = @template.unreleased_title
28
+
29
+ unreleased_title_index = @changelog_lines.index("#{unreleased_title}\n")
30
+
31
+ abort_without_unreleased_title unless unreleased_title_index
32
+
33
+ @changelog_lines.insert(
34
+ unreleased_title_index + 2,
35
+ '#' * unreleased_title.scan(/^#+/).first.size + " #{@new_version} (#{@today})\n\n"
36
+ ).join
37
+ end
38
+
39
+ def abort_without_unreleased_title
40
+ abort <<~TEXT
41
+ `#{@template.unreleased_title}` not found in the `#{@template.changelog_file_name}` as the title for unreleased changes.
42
+ Please, use `:unreleased_title` option if you have non-default one.
43
+ TEXT
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GemToys
4
+ class Template
5
+ class Release
6
+ ## Helper module with methods about `git` for `release` tool
7
+ module Git
8
+ private
9
+
10
+ def process_git
11
+ new_version_git_tag = "#{@template.version_tag_prefix}#{@new_version}"
12
+
13
+ ## Checkout to a new git branch, required for protected `master` with CI
14
+ # sh "git switch -c #{new_version_git_tag}"
15
+
16
+ commit_changes
17
+
18
+ ## Tag commit
19
+ puts 'Tagging the commit...'
20
+ sh "git tag -a #{new_version_git_tag} -m 'Version #{@new_version}'"
21
+
22
+ ## Push commit
23
+ puts 'Pushing commit...'
24
+ sh 'git push'
25
+
26
+ ## Push tags
27
+ puts 'Pushing tags...'
28
+ sh 'git push --tags'
29
+ end
30
+
31
+ def commit_changes
32
+ puts 'Committing changes...'
33
+
34
+ sh "git add #{version_file_path} #{changelog_file_path}"
35
+
36
+ sh "git commit -m 'Update version to #{@new_version}'"
37
+ end
38
+ end
39
+ end
40
+ end
41
+ 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.4.0'
4
+ VERSION = '0.7.1'
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.4.0
4
+ version: 0.7.1
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-09-20 00:00:00.000000000 Z
11
+ date: 2021-03-03 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
@@ -58,14 +100,14 @@ dependencies:
58
100
  requirements:
59
101
  - - "~>"
60
102
  - !ruby/object:Gem::Version
61
- version: 0.2.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.2.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.19.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.19.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.91.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.91.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
  '
@@ -151,6 +193,10 @@ files:
151
193
  - lib/gem_toys.rb
152
194
  - lib/gem_toys/template.rb
153
195
  - lib/gem_toys/template/common_code.rb
196
+ - lib/gem_toys/template/release.rb
197
+ - lib/gem_toys/template/release/changelog.rb
198
+ - lib/gem_toys/template/release/git.rb
199
+ - lib/gem_toys/template/versions.rb
154
200
  - lib/gem_toys/version.rb
155
201
  homepage: https://github.com/AlexWayfer/gem_toys
156
202
  licenses:
@@ -167,14 +213,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
167
213
  requirements:
168
214
  - - ">="
169
215
  - !ruby/object:Gem::Version
170
- version: '2.4'
216
+ version: '2.5'
217
+ - - "<"
218
+ - !ruby/object:Gem::Version
219
+ version: '4'
171
220
  required_rubygems_version: !ruby/object:Gem::Requirement
172
221
  requirements:
173
222
  - - ">="
174
223
  - !ruby/object:Gem::Version
175
224
  version: '0'
176
225
  requirements: []
177
- rubygems_version: 3.1.2
226
+ rubygems_version: 3.2.3
178
227
  signing_key:
179
228
  specification_version: 4
180
229
  summary: Toys template for gems