bunup 0.1.0 → 0.3.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/.gitignore +2 -0
- data/.rubocop.yml +17 -6
- data/.travis.yml +0 -1
- data/CHANGELOG.md +12 -0
- data/Gemfile +2 -0
- data/README.md +2 -1
- data/Rakefile +2 -0
- data/bin/console +1 -0
- data/bunup.gemspec +8 -7
- data/exe/bunup +2 -1
- data/lib/bunup/bundler.rb +8 -4
- data/lib/bunup/cli.rb +38 -14
- data/lib/bunup/gem.rb +12 -10
- data/lib/bunup/options.rb +25 -4
- data/lib/bunup/services/commiter.rb +6 -4
- data/lib/bunup/services/updater.rb +2 -0
- data/lib/bunup/services/validate_git_version.rb +23 -0
- data/lib/bunup/values/version.rb +39 -0
- data/lib/bunup/version.rb +3 -1
- data/lib/bunup.rb +6 -2
- metadata +25 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 63cc322ef7121438476bec3a6fa52b19d5c0b29c0a725ee78245a02c3ab46719
|
4
|
+
data.tar.gz: 4d5c02920b1e0dd16e1737bfd0ef035b4127f2326d90033a6da560d2b79b69e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d14817dc2eee80a359a45befc1d3e87acd7ca916780ce5ea056c586fb167c1f585fc09f44e2fe48076479efd31bc972dbd7c8dbffcff6c8c5404799075db971
|
7
|
+
data.tar.gz: 7d6ed6b5edc46141d631384da30c45b3651743fe8ef09a8b8ae94c130c54a7cbd55bae8f23b1673cac84f6fe21bc003fb76b3f8a947d7d99a3c0f1f5ad02ff71
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.3
|
3
|
+
|
1
4
|
Gemspec/RequiredRubyVersion:
|
2
5
|
Enabled: false
|
3
6
|
|
4
|
-
Layout/
|
7
|
+
Layout/ParameterAlignment:
|
5
8
|
EnforcedStyle: with_fixed_indentation
|
6
9
|
|
7
10
|
Layout/CaseIndentation:
|
@@ -23,7 +26,7 @@ Layout/EmptyLinesAroundAccessModifier:
|
|
23
26
|
Layout/EmptyLinesAroundArguments:
|
24
27
|
Enabled: false
|
25
28
|
|
26
|
-
Layout/
|
29
|
+
Layout/HeredocIndentation:
|
27
30
|
Enabled: false
|
28
31
|
|
29
32
|
Layout/MultilineMethodCallIndentation:
|
@@ -55,10 +58,6 @@ Metrics/ClassLength:
|
|
55
58
|
Metrics/ModuleLength:
|
56
59
|
Enabled: false
|
57
60
|
|
58
|
-
# Status codes or symbols are fine
|
59
|
-
Rails/HttpStatus:
|
60
|
-
Enabled: false
|
61
|
-
|
62
61
|
# Too subtle to lint. Recommend semantic style, but avoid `end.x`.
|
63
62
|
Style/BlockDelimiters:
|
64
63
|
Enabled: false
|
@@ -72,6 +71,18 @@ Style/FormatStringToken:
|
|
72
71
|
Style/GuardClause:
|
73
72
|
Enabled: false
|
74
73
|
|
74
|
+
# New cop opt-in
|
75
|
+
Style/HashEachMethods:
|
76
|
+
Enabled: true
|
77
|
+
|
78
|
+
# New cop opt-in
|
79
|
+
Style/HashTransformKeys:
|
80
|
+
Enabled: true
|
81
|
+
|
82
|
+
# New cop opt-in
|
83
|
+
Style/HashTransformValues:
|
84
|
+
Enabled: true
|
85
|
+
|
75
86
|
# Too subtle to lint. Avoid the "modifier" (postfix) style except on extremely
|
76
87
|
# short and simple lines.
|
77
88
|
Style/IfUnlessModifier:
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# Changelog
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
5
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
|
+
|
7
|
+
## Unreleased
|
8
|
+
|
9
|
+
## [0.2.0](https://github.com/singlebrook/bunup/releases/tag/v0.2.0)
|
10
|
+
|
11
|
+
- Support Bundler 2
|
12
|
+
- Support gems installed from git sources
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
|
2
2
|
[](https://travis-ci.org/singlebrook/bunup)
|
3
|
+

|
3
4
|
|
4
5
|
# Bunup
|
5
6
|
|
@@ -44,7 +45,7 @@ bunup rake rubocop
|
|
44
45
|
### Options
|
45
46
|
|
46
47
|
* `--all`: Update all outdated gems. This is the default.
|
47
|
-
* `-y` `--yes` `--assume-yes`: Answer "yes" to major version update prompts and run non-interactively
|
48
|
+
* `-y` `--yes` `--assume-yes [major, git]`: Answer "yes" to major version or git version update prompts and run non-interactively. Defaults to all.
|
48
49
|
|
49
50
|
## Development
|
50
51
|
|
data/Rakefile
CHANGED
data/bin/console
CHANGED
data/bunup.gemspec
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
lib = File.expand_path('lib', __dir__)
|
2
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
5
|
require 'bunup/version'
|
@@ -22,12 +24,11 @@ Gem::Specification.new do |spec|
|
|
22
24
|
spec.bindir = 'exe'
|
23
25
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
26
|
spec.require_paths = ['lib']
|
25
|
-
spec.required_ruby_version = '>= 2.
|
27
|
+
spec.required_ruby_version = '>= 2.7'
|
26
28
|
|
27
|
-
spec.add_development_dependency 'bundler', '
|
28
|
-
spec.add_development_dependency '
|
29
|
-
spec.add_development_dependency '
|
30
|
-
spec.add_development_dependency '
|
31
|
-
spec.add_development_dependency '
|
32
|
-
spec.add_development_dependency 'simplecov', '~> 0.16.1'
|
29
|
+
spec.add_development_dependency 'bundler', '>= 2.4.0' # CVE-2019-3881
|
30
|
+
spec.add_development_dependency 'rake', '>= 12.3.3'
|
31
|
+
spec.add_development_dependency 'rspec', '~> 3.13'
|
32
|
+
spec.add_development_dependency 'rubocop', '>= 1.50'
|
33
|
+
spec.add_development_dependency 'simplecov', '~> 0.21.2'
|
33
34
|
end
|
data/exe/bunup
CHANGED
data/lib/bunup/bundler.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'open3'
|
2
4
|
|
3
5
|
module Bunup
|
@@ -11,15 +13,17 @@ module Bunup
|
|
11
13
|
(?<name>.*)\s
|
12
14
|
\(newest\s(?<newest>.*),\s
|
13
15
|
installed\s(?<installed>.*?)
|
14
|
-
(
|
16
|
+
(?:,\srequested.*)?
|
15
17
|
\)
|
16
18
|
/x.freeze
|
17
19
|
|
18
20
|
# Expected output format:
|
19
21
|
# "\ngem-name (newest 1.0.0, installed 2.0.0)\n"
|
20
|
-
def self.outdated(gem_names)
|
22
|
+
def self.outdated(gem_names, only_explicit: false)
|
23
|
+
args = %w[--parseable --strict]
|
24
|
+
args << '--only-explicit' if only_explicit
|
21
25
|
stdout, stderr, status = Open3.capture3(
|
22
|
-
"bundler outdated #{gem_names.join(' ')}
|
26
|
+
"bundler outdated #{gem_names.join(' ')} #{args.join(' ')}"
|
23
27
|
)
|
24
28
|
validate_output(stdout, stderr, status)
|
25
29
|
stdout.strip
|
@@ -35,7 +39,7 @@ module Bunup
|
|
35
39
|
unless status.to_i == 256
|
36
40
|
raise ::SystemExit.new(
|
37
41
|
status.to_i,
|
38
|
-
(stderr == '' ? stdout : stderr).chomp
|
42
|
+
"#{(stderr == '' ? stdout : stderr).chomp}\n"
|
39
43
|
)
|
40
44
|
end
|
41
45
|
end
|
data/lib/bunup/cli.rb
CHANGED
@@ -1,16 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Bunup
|
2
4
|
# Parse args, run services, handle output, and handle exits
|
3
5
|
class CLI
|
4
|
-
COMMITING_MSG = 'Commiting Gemfile and Gemfile.lock changes'
|
6
|
+
COMMITING_MSG = 'Commiting Gemfile and Gemfile.lock changes'
|
5
7
|
E_DIRTY_GEMFILE = 'Gemfile and/or Gemfile.lock has changes that would ' \
|
6
8
|
'be overwritten. Please stash or commit your changes before running ' \
|
7
|
-
'bunup.'
|
9
|
+
'bunup.'
|
10
|
+
GIT_REF_UPDATE_WARNING = 'WARNING: %<gem_name>s is installed from a git ' \
|
11
|
+
'repo and is being updated from %<installed_version>s to ' \
|
12
|
+
'%<newest_version>s. This update could include breaking changes. ' \
|
13
|
+
'Continue? [y/N] '
|
8
14
|
MAJOR_VERSION_UPDATE_WARNING_FMT = 'WARNING: %<gem_name>s is being ' \
|
9
15
|
'updated from %<installed_version>s to %<newest_version>s. This is ' \
|
10
16
|
'a major version update with possible breaking changes. ' \
|
11
|
-
'Continue? [y/N] '
|
17
|
+
'Continue? [y/N] '
|
12
18
|
UPDATING_MSG_FMT = '(%<remaining>s) Updating %<gem_name>s ' \
|
13
|
-
'%<installed_version>s -> %<newest_version>s'
|
19
|
+
'%<installed_version>s -> %<newest_version>s'
|
14
20
|
|
15
21
|
def initialize(args)
|
16
22
|
@options = ::Bunup::Options.parse!(args)
|
@@ -36,17 +42,17 @@ module Bunup
|
|
36
42
|
end
|
37
43
|
|
38
44
|
def build_gems
|
39
|
-
bundle_outdated.split("\n").map do |line|
|
45
|
+
bundle_outdated.split("\n").map.with_object([]) do |line, gems|
|
40
46
|
next unless Bundler::OUTDATED_PATTERN =~ line
|
41
47
|
|
42
48
|
match_data = Bundler::OUTDATED_PATTERN.match(line)
|
43
|
-
build_gem(match_data)
|
44
|
-
end
|
49
|
+
gems << build_gem(match_data)
|
50
|
+
end
|
45
51
|
end
|
46
52
|
|
47
53
|
def bundle_outdated
|
48
54
|
puts 'Checking for updates'
|
49
|
-
Bundler.outdated(bunup_all? ? [] : @args)
|
55
|
+
Bundler.outdated(bunup_all? ? [] : @args, only_explicit: @options[:only_explicit])
|
50
56
|
rescue ::SystemExit => e
|
51
57
|
handle_system_exit(e)
|
52
58
|
''
|
@@ -69,16 +75,33 @@ module Bunup
|
|
69
75
|
msg = []
|
70
76
|
msg << 'ERROR:' unless exception.success?
|
71
77
|
msg << exception.message
|
72
|
-
puts msg.join(' ')
|
78
|
+
puts "#{msg.join(' ')}\n"
|
73
79
|
raise exception unless bunup_many?
|
74
80
|
end
|
75
81
|
|
76
82
|
def major_version_update?
|
77
83
|
return false if @gem.newest_version.nil? || @gem.installed_version.nil?
|
78
84
|
|
79
|
-
|
80
|
-
|
81
|
-
|
85
|
+
@gem.newest_version.major > @gem.installed_version.major
|
86
|
+
end
|
87
|
+
|
88
|
+
# A major version update has breaking changes, according to Semantic
|
89
|
+
# Versioning (https://semver.org/spec/v2.0.0.html). Let's make sure the
|
90
|
+
# user is aware of that.
|
91
|
+
def prompt_for_git_ref_update
|
92
|
+
print format(
|
93
|
+
GIT_REF_UPDATE_WARNING,
|
94
|
+
gem_name: @gem.name,
|
95
|
+
installed_version: @gem.installed_version,
|
96
|
+
newest_version: @gem.newest_version
|
97
|
+
)
|
98
|
+
if @options[:assume_yes_for_git_update]
|
99
|
+
print "assuming yes\n"
|
100
|
+
else
|
101
|
+
unless $stdin.gets.chomp.casecmp('y').zero?
|
102
|
+
raise ::SystemExit.new(true, 'No update performed')
|
103
|
+
end
|
104
|
+
end
|
82
105
|
end
|
83
106
|
|
84
107
|
# A major version update has breaking changes, according to Semantic
|
@@ -91,10 +114,10 @@ module Bunup
|
|
91
114
|
installed_version: @gem.installed_version,
|
92
115
|
newest_version: @gem.newest_version
|
93
116
|
)
|
94
|
-
if @options
|
117
|
+
if @options[:assume_yes_for_major_version_update]
|
95
118
|
print "assuming yes\n"
|
96
119
|
else
|
97
|
-
unless
|
120
|
+
unless $stdin.gets.chomp.casecmp('y').zero?
|
98
121
|
raise ::SystemExit.new(true, 'No update performed')
|
99
122
|
end
|
100
123
|
end
|
@@ -116,6 +139,7 @@ module Bunup
|
|
116
139
|
@gem = gem
|
117
140
|
begin
|
118
141
|
prompt_for_major_update if major_version_update?
|
142
|
+
prompt_for_git_ref_update if @gem.installed_from_git?
|
119
143
|
update
|
120
144
|
commit
|
121
145
|
rescue ::SystemExit => e
|
data/lib/bunup/gem.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ostruct'
|
2
4
|
|
3
5
|
module Bunup
|
@@ -5,28 +7,32 @@ module Bunup
|
|
5
7
|
class Gem
|
6
8
|
# Gem name patterns taken from
|
7
9
|
# https://github.com/rubygems/rubygems.org/blob/master/lib/patterns.rb
|
8
|
-
SPECIAL_CHARACTERS = '.-_'
|
10
|
+
SPECIAL_CHARACTERS = '.-_'
|
9
11
|
ALLOWED_CHARACTERS = '[A-Za-z0-9' \
|
10
|
-
"#{Regexp.escape(SPECIAL_CHARACTERS)}]+"
|
12
|
+
"#{Regexp.escape(SPECIAL_CHARACTERS)}]+"
|
11
13
|
NAME_PATTERN = /\A#{ALLOWED_CHARACTERS}\Z/.freeze
|
12
14
|
|
13
15
|
attr_accessor :name, :installed_version, :newest_version
|
14
16
|
|
15
17
|
def initialize(name: nil, installed_version: nil, newest_version: nil)
|
16
18
|
@name = name
|
17
|
-
@installed_version = installed_version
|
18
|
-
@newest_version = newest_version
|
19
|
+
@installed_version = Values::Version.new(installed_version)
|
20
|
+
@newest_version = Values::Version.new(newest_version)
|
19
21
|
validate
|
20
22
|
end
|
21
23
|
|
24
|
+
def installed_from_git?
|
25
|
+
installed_version.from_git? || newest_version.from_git?
|
26
|
+
end
|
27
|
+
|
22
28
|
private
|
23
29
|
|
24
30
|
def validate
|
25
31
|
abort "Invalid gem name: #{name}" unless valid_name?
|
26
|
-
unless
|
32
|
+
unless installed_version.valid?
|
27
33
|
abort "Invalid version for #{name}: #{installed_version}"
|
28
34
|
end
|
29
|
-
unless
|
35
|
+
unless newest_version.valid?
|
30
36
|
abort "Invalid version for #{name}: #{newest_version}"
|
31
37
|
end
|
32
38
|
end
|
@@ -34,9 +40,5 @@ module Bunup
|
|
34
40
|
def valid_name?
|
35
41
|
name =~ NAME_PATTERN
|
36
42
|
end
|
37
|
-
|
38
|
-
def valid_version?(version_string)
|
39
|
-
::Gem::Version.correct?(version_string)
|
40
|
-
end
|
41
43
|
end
|
42
44
|
end
|
data/lib/bunup/options.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'optionparser'
|
2
4
|
require 'ostruct'
|
3
5
|
|
@@ -16,10 +18,29 @@ module Bunup
|
|
16
18
|
options.all = true
|
17
19
|
end
|
18
20
|
|
19
|
-
assume_yes_msg = 'Answer "yes" to major version update
|
20
|
-
'and run non-interactively'
|
21
|
-
opts.on(
|
22
|
-
|
21
|
+
assume_yes_msg = 'Answer "yes" to all major or git version update ' \
|
22
|
+
'prompts, or all, and run non-interactively. Defaults to all.'
|
23
|
+
opts.on(
|
24
|
+
'-y', '--yes', '--assume-yes [major, git]',
|
25
|
+
Array,
|
26
|
+
assume_yes_msg
|
27
|
+
) do |list|
|
28
|
+
if list.nil?
|
29
|
+
options[:assume_yes_for_major_version_update] = true
|
30
|
+
options[:assume_yes_for_git_update] = true
|
31
|
+
else
|
32
|
+
list.each do |version_type|
|
33
|
+
case version_type.strip
|
34
|
+
when 'major'
|
35
|
+
options[:assume_yes_for_major_version_update] = true
|
36
|
+
when 'git' then options[:assume_yes_for_git_update] = true
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
opts.on('--only-explicit') do
|
43
|
+
options[:only_explicit] = true
|
23
44
|
end
|
24
45
|
|
25
46
|
opts.on('-h', '--help', 'Prints this help') do
|
@@ -1,9 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Bunup
|
2
4
|
module Services
|
3
5
|
# Commit changes to Gemfile and Gemfile.lock to git
|
4
6
|
class Commiter
|
5
7
|
COMMIT_MESSAGE_FMT = '%<gem_name>s %<newest_version>s ' \
|
6
|
-
'(was %<installed_version>s)'
|
8
|
+
'(was %<installed_version>s)'
|
7
9
|
|
8
10
|
def self.clean_gemfile?
|
9
11
|
`git status -s Gemfile Gemfile.lock` == ''
|
@@ -30,9 +32,9 @@ module Bunup
|
|
30
32
|
|
31
33
|
def message
|
32
34
|
format COMMIT_MESSAGE_FMT,
|
33
|
-
|
34
|
-
|
35
|
-
|
35
|
+
gem_name: @gem.name,
|
36
|
+
newest_version: @gem.newest_version,
|
37
|
+
installed_version: @gem.installed_version
|
36
38
|
end
|
37
39
|
end
|
38
40
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Bunup
|
4
|
+
module Services
|
5
|
+
# Validate that version of gem installed from a git source is valid
|
6
|
+
class ValidateGitVersion
|
7
|
+
# https://stackoverflow.com/questions/468370/a-regex-to-match-a-sha1#468378
|
8
|
+
SHA_REGEX = /\b[0-9a-f]{5,40}\b/.freeze
|
9
|
+
|
10
|
+
def initialize(version_string)
|
11
|
+
@version_string = version_string
|
12
|
+
end
|
13
|
+
|
14
|
+
def perform
|
15
|
+
version, sha = @version_string.split(' ')
|
16
|
+
return false if sha.nil?
|
17
|
+
|
18
|
+
::Gem::Version.correct?(version) &&
|
19
|
+
!sha.match(SHA_REGEX).nil?
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Bunup
|
4
|
+
module Values
|
5
|
+
# Parse and handle version strings
|
6
|
+
class Version
|
7
|
+
def initialize(version_string)
|
8
|
+
@version_string = version_string
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_s
|
12
|
+
@version_string
|
13
|
+
end
|
14
|
+
|
15
|
+
def major
|
16
|
+
if from_git?
|
17
|
+
# '6.0.0.rc2 b6f1d19' => 6
|
18
|
+
@version_string.split(' ')[0].split('.')[0].to_i
|
19
|
+
else
|
20
|
+
# '6.0.0.rc2' => 6
|
21
|
+
@version_string.split('.')[0].to_i
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def from_git?
|
26
|
+
Services::ValidateGitVersion.new(@version_string).perform
|
27
|
+
end
|
28
|
+
|
29
|
+
def nil?
|
30
|
+
@version_string == '' || @version_string.nil?
|
31
|
+
end
|
32
|
+
|
33
|
+
def valid?
|
34
|
+
::Gem::Version.correct?(@version_string) ||
|
35
|
+
Services::ValidateGitVersion.new(@version_string).perform
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/bunup/version.rb
CHANGED
data/lib/bunup.rb
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
#
|
3
|
+
Dir.glob("#{File.dirname(__FILE__)}/bunup/**/*.rb").sort.each do |file|
|
4
|
+
require file
|
5
|
+
end
|
6
|
+
|
7
|
+
# Our top-level namespace
|
4
8
|
module Bunup; end
|
metadata
CHANGED
@@ -1,102 +1,88 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bunup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared Beck
|
8
8
|
- Shane Cavanaugh
|
9
9
|
- Leon Miller-Out
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2024-05-31 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '1.16'
|
22
|
-
type: :development
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
requirements:
|
26
|
-
- - "~>"
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
version: '1.16'
|
29
|
-
- !ruby/object:Gem::Dependency
|
30
|
-
name: byebug
|
31
|
-
requirement: !ruby/object:Gem::Requirement
|
32
|
-
requirements:
|
33
|
-
- - "~>"
|
19
|
+
- - ">="
|
34
20
|
- !ruby/object:Gem::Version
|
35
|
-
version:
|
21
|
+
version: 2.4.0
|
36
22
|
type: :development
|
37
23
|
prerelease: false
|
38
24
|
version_requirements: !ruby/object:Gem::Requirement
|
39
25
|
requirements:
|
40
|
-
- - "
|
26
|
+
- - ">="
|
41
27
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
28
|
+
version: 2.4.0
|
43
29
|
- !ruby/object:Gem::Dependency
|
44
30
|
name: rake
|
45
31
|
requirement: !ruby/object:Gem::Requirement
|
46
32
|
requirements:
|
47
|
-
- - "
|
33
|
+
- - ">="
|
48
34
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
35
|
+
version: 12.3.3
|
50
36
|
type: :development
|
51
37
|
prerelease: false
|
52
38
|
version_requirements: !ruby/object:Gem::Requirement
|
53
39
|
requirements:
|
54
|
-
- - "
|
40
|
+
- - ">="
|
55
41
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
42
|
+
version: 12.3.3
|
57
43
|
- !ruby/object:Gem::Dependency
|
58
44
|
name: rspec
|
59
45
|
requirement: !ruby/object:Gem::Requirement
|
60
46
|
requirements:
|
61
47
|
- - "~>"
|
62
48
|
- !ruby/object:Gem::Version
|
63
|
-
version: '3.
|
49
|
+
version: '3.13'
|
64
50
|
type: :development
|
65
51
|
prerelease: false
|
66
52
|
version_requirements: !ruby/object:Gem::Requirement
|
67
53
|
requirements:
|
68
54
|
- - "~>"
|
69
55
|
- !ruby/object:Gem::Version
|
70
|
-
version: '3.
|
56
|
+
version: '3.13'
|
71
57
|
- !ruby/object:Gem::Dependency
|
72
58
|
name: rubocop
|
73
59
|
requirement: !ruby/object:Gem::Requirement
|
74
60
|
requirements:
|
75
61
|
- - ">="
|
76
62
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
63
|
+
version: '1.50'
|
78
64
|
type: :development
|
79
65
|
prerelease: false
|
80
66
|
version_requirements: !ruby/object:Gem::Requirement
|
81
67
|
requirements:
|
82
68
|
- - ">="
|
83
69
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
70
|
+
version: '1.50'
|
85
71
|
- !ruby/object:Gem::Dependency
|
86
72
|
name: simplecov
|
87
73
|
requirement: !ruby/object:Gem::Requirement
|
88
74
|
requirements:
|
89
75
|
- - "~>"
|
90
76
|
- !ruby/object:Gem::Version
|
91
|
-
version: 0.
|
77
|
+
version: 0.21.2
|
92
78
|
type: :development
|
93
79
|
prerelease: false
|
94
80
|
version_requirements: !ruby/object:Gem::Requirement
|
95
81
|
requirements:
|
96
82
|
- - "~>"
|
97
83
|
- !ruby/object:Gem::Version
|
98
|
-
version: 0.
|
99
|
-
description:
|
84
|
+
version: 0.21.2
|
85
|
+
description:
|
100
86
|
email:
|
101
87
|
- jared@jaredbeck.com
|
102
88
|
- shane@shanecav.net
|
@@ -109,6 +95,7 @@ files:
|
|
109
95
|
- ".gitignore"
|
110
96
|
- ".rubocop.yml"
|
111
97
|
- ".travis.yml"
|
98
|
+
- CHANGELOG.md
|
112
99
|
- CODE_OF_CONDUCT.md
|
113
100
|
- Gemfile
|
114
101
|
- LICENSE.txt
|
@@ -125,12 +112,14 @@ files:
|
|
125
112
|
- lib/bunup/options.rb
|
126
113
|
- lib/bunup/services/commiter.rb
|
127
114
|
- lib/bunup/services/updater.rb
|
115
|
+
- lib/bunup/services/validate_git_version.rb
|
116
|
+
- lib/bunup/values/version.rb
|
128
117
|
- lib/bunup/version.rb
|
129
118
|
homepage: https://github.com/singlebrook/bunup
|
130
119
|
licenses:
|
131
120
|
- MIT
|
132
121
|
metadata: {}
|
133
|
-
post_install_message:
|
122
|
+
post_install_message:
|
134
123
|
rdoc_options: []
|
135
124
|
require_paths:
|
136
125
|
- lib
|
@@ -138,16 +127,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
127
|
requirements:
|
139
128
|
- - ">="
|
140
129
|
- !ruby/object:Gem::Version
|
141
|
-
version: '2.
|
130
|
+
version: '2.7'
|
142
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
132
|
requirements:
|
144
133
|
- - ">="
|
145
134
|
- !ruby/object:Gem::Version
|
146
135
|
version: '0'
|
147
136
|
requirements: []
|
148
|
-
|
149
|
-
|
150
|
-
signing_key:
|
137
|
+
rubygems_version: 3.1.6
|
138
|
+
signing_key:
|
151
139
|
specification_version: 4
|
152
140
|
summary: Bundle update and commit to git with one command
|
153
141
|
test_files: []
|