version-manager 0.0.6 → 0.0.7
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/lib/version-manager/cli.rb +2 -2
- data/lib/version-manager/version.rb +1 -1
- data/lib/version-manager/version_storage.rb +21 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c8b3d22e9596018b567dd472b59fa1403ce49bc
|
4
|
+
data.tar.gz: f2c07628d82f8c67c0da20d3b28c544c9a6c8dd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: daaf1b6beb27e15b7ebe3b591d743ae4c7bfc46ebf44e858ae7a66d430120851f9ccebaccc697ace4a2f90873bc30e461fe2c8d363aebe24872fe0b532f54349
|
7
|
+
data.tar.gz: 2cc0e45bdca3993a12fd397da1e84c4716f88b460364da8c57e30d4114c78ecc6bde71e22d1fda1cbb1c00ff86aba7d75474366d4ecb177f00769eb6bc87b78a
|
data/lib/version-manager/cli.rb
CHANGED
@@ -49,10 +49,10 @@ module VersionManager
|
|
49
49
|
|
50
50
|
def make_release(release_type)
|
51
51
|
storage = build_storage
|
52
|
-
version = storage.latest_version
|
52
|
+
version = release_type == :patch ? storage.current_version : storage.latest_version
|
53
53
|
|
54
54
|
new_version = version.public_send("bump_#{release_type}")
|
55
|
-
return if version && !Ask.confirm("You are going to upgrade version to #{new_version}. Do it?
|
55
|
+
return if version && !Ask.confirm("You are going to upgrade version to #{new_version}. Do it?", default: false)
|
56
56
|
version = retrieve_initial_version unless version
|
57
57
|
|
58
58
|
Make.new(version, VCS.build, storage).public_send("#{release_type}!")
|
@@ -21,20 +21,33 @@ module VersionManager
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def latest_version
|
24
|
-
versions = vcs.remote_branch_names.map
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
version =
|
31
|
-
version
|
24
|
+
versions = vcs.remote_branch_names.map(&method(:version_from_branch_name))
|
25
|
+
version = select_appropriate_version(versions) # It's a partial release version (only major and minor parts)
|
26
|
+
version_from_file(version)
|
27
|
+
end
|
28
|
+
|
29
|
+
def current_version
|
30
|
+
version = version_from_branch_name(vcs.current_branch)
|
31
|
+
raise ArgumentError, 'Can not detect a current version' unless version
|
32
|
+
version_from_file(version)
|
32
33
|
end
|
33
34
|
|
34
35
|
private
|
35
36
|
|
36
37
|
attr_reader :filename, :filepath, :vcs
|
37
38
|
|
39
|
+
def version_from_file(version)
|
40
|
+
return unless version
|
41
|
+
file_content = vcs.show_file(version.branch, relative_path) if version
|
42
|
+
ReleaseVersion.new(file_content) if file_content && ReleaseVersion.valid?(file_content)
|
43
|
+
end
|
44
|
+
|
45
|
+
def version_from_branch_name(branch_name)
|
46
|
+
return unless branch_name
|
47
|
+
branch_name = branch_name.split('/').last
|
48
|
+
ReleaseVersion.new(branch_name) if branch_name.include?('release-') && ReleaseVersion.valid?(branch_name)
|
49
|
+
end
|
50
|
+
|
38
51
|
def relative_path
|
39
52
|
Pathname.new(full_path).relative_path_from(Pathname.new(ROOT_DIR)).to_s
|
40
53
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: version-manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- isolo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-02-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|