bmp 0.8.4 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d0af6b1454a9fbd7aac83a88062551d581b8909e
4
- data.tar.gz: 84647dcf48e20ebc92b90be49d308b1092f067f0
3
+ metadata.gz: 2d7d2b2d54797a4e61461a9ed3b3d9af91a47bad
4
+ data.tar.gz: 790a8704c176bd2df4e1365f901bd5a1679b15cc
5
5
  SHA512:
6
- metadata.gz: 770aa5a49be69033cebffc75e915cc330d8d446d637381ba07d69ce7de0cb9c4c8c30c1e5641e35b6c17a59bddae62f9d792798fa6427733b5e0c1f99fd1053d
7
- data.tar.gz: 29eae53925c4a5487e3b1f1f5086a51f66fe458604513c333d78683e0017e0c55a21e9c4364a1ae83c7f8ddfb586f281f4e03555995ae20fe1390e60bac9f3d7
6
+ metadata.gz: 3608a6d5a8051969b2417f6d97261a8727e17e61f7d60743aa776bc160a5199606602d9297f284166ba338cbbb2ce3ff0ce3f698644f5f8d35072f7dfc99ac7d
7
+ data.tar.gz: 652aefef8e380f595378a73545f2bebf009bfa645d38c049d0434f55b21fff4c624c7aede59d9f8c4d03a62de1fef35af2212ad47ebb259ff032f84adeffb926
data/.bmp.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: 0.8.4
2
+ version: 0.9.0
3
3
  files:
4
4
  README.md: Bmp v%.%.%
5
5
  lib/bump/version.rb: VERSION = "%.%.%"
@@ -0,0 +1,7 @@
1
+ root = true
2
+ [*]
3
+ trim_trailing_whitespace = true
4
+ insert_final_newline = true
5
+ indent_style = space
6
+ [*.rb]
7
+ indent_size = 4
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bmp (0.8.4)
4
+ bmp (0.9.0)
5
5
  slop (~> 3.4.7)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Bmp v0.8.4
1
+ # Bmp v0.9.0
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/bmp.png)](http://badge.fury.io/rb/bmp)
4
4
  [![Build Status](https://travis-ci.org/kt3k/bmp.png)](https://travis-ci.org/kt3k/bmp)
data/TODO.md CHANGED
@@ -1,33 +1,30 @@
1
1
  # TODO
2
2
 
3
- - Rename file_rewrite_rule to file_update_rule
4
- - Rename version_descriptor to bump_info
5
-
6
- - Refactor application
3
+ - Generate documentaion
4
+ - support pre-release version number (of semver)
5
+ - support build version number (of semver)
7
6
 
8
- - more exception handlings
9
- - yaml parse error
10
- - no `version` case
11
- - no `files` case
7
+ - yaml parse error handling
8
+ - no `version` case handling
9
+ - no `files` case handling
12
10
 
13
- - feature
14
- - Add `this file is auto modified by bmp command` comment
15
- - `placeholder` field
16
- - interactive init command
17
- - label
11
+ - Add `this file is auto modified by bmp command` comment
12
+ - interactive init command
18
13
 
19
- - test
20
- - domain - FileRewriteRule
21
- - domain - FileRewriteRuleFactory
22
- - domain - VersionDescriptor
23
- - domain - VersionDescriptorRepository
24
- - Application
25
- - CLI
26
- - Logger
27
- - Command
14
+ - test FileRewriteRule
15
+ - test FileRewriteRuleFactory
16
+ - test VersionDescriptor
17
+ - test VersionDescriptorRepository
18
+ - test Application
19
+ - test CLI
20
+ - test Logger
21
+ - test Command
28
22
 
29
23
  # DONE
30
24
 
25
+ - Rename file_rewrite_rule to file_update_rule
26
+ - Rename version_descriptor to bump_info
27
+ - Refactor application
31
28
  - travis - done
32
29
  - coveralls - done
33
30
  - introduce simplecov - done
@@ -6,6 +6,11 @@ module Bump
6
6
 
7
7
  class Application
8
8
 
9
+ # @param [Hash] options The cli options
10
+ # @param [String] help The help message
11
+ # @param [String] version The version expression of this command
12
+ # @param [String] file The file name of bump info file
13
+ # @param [Bump::Logger] logger The logger
9
14
  def initialize options, help, version, file, logger
10
15
  @options = options
11
16
  @help = help
@@ -14,6 +19,9 @@ module Bump
14
19
  @logger = logger
15
20
  end
16
21
 
22
+ # Select the main action
23
+ #
24
+ # @return [Symbol]
17
25
  def selectAction
18
26
  if @options[:help]
19
27
  return :help
@@ -35,102 +43,141 @@ module Bump
35
43
  return :info
36
44
  end
37
45
 
46
+ # handler of `bmp --version`
38
47
  def actionVersion
39
- @logger.log @version
48
+ log @version
40
49
  end
41
50
 
51
+ # handler of `bmp --help`
42
52
  def actionHelp
43
- @logger.log @help
53
+ log @help
44
54
  end
45
55
 
46
- def actionInfo
47
- repo = VersionDescriptorRepository.new @file
56
+ # Gets the bump info
57
+ #
58
+ # @return [Bump::BumpInfo]
59
+ def getBumpInfo
60
+
61
+ repo = BumpInfoRepository.new @file
48
62
 
49
63
  begin
50
- descriptor = repo.fromFile
64
+ bumpInfo = repo.fromFile
51
65
  rescue Errno::ENOENT => e then
52
- @logger.log "Error: the file `#{@file}` not found."
66
+ log_red "Error: the file `#{@file}` not found."
53
67
  exit 1
54
68
  end
55
69
 
56
- @logger.log "Current Version is:", false
57
- @logger.log_green " #{descriptor.beforeVersion}"
70
+ return bumpInfo
71
+
72
+ end
73
+
74
+ # Saves the bump info
75
+ #
76
+ # @param [Bump::BumpInfo] bumpInfo
77
+ def saveBumpInfo bumpInfo
78
+ repo = BumpInfoRepository.new @file
58
79
 
59
- @logger.log "Replacement target patterns are:"
80
+ repo.save bumpInfo
81
+ end
60
82
 
61
- descriptor.rewriteRules.each do |rule|
62
- rule.prepare
83
+ # Shows the version patterns.
84
+ #
85
+ # @param [Bump::BumpInfo] bumpInfo
86
+ def showVersionPatterns bumpInfo
63
87
 
64
- @logger.log " #{rule.file}:", false
65
- @logger.log_green " '#{rule.beforePattern}'"
88
+ log "Current Version:", false
89
+ log_green " #{bumpInfo.beforeVersion}"
90
+
91
+ log "Version patterns:"
92
+
93
+ bumpInfo.updateRules.each do |rule|
94
+ log " #{rule.file}:", false
95
+
96
+ if rule.patternExists
97
+ log_green " '#{rule.beforePattern}'"
98
+ else
99
+ log_red " '#{rule.beforePattern}' (pattern not found)"
100
+ end
66
101
  end
102
+
67
103
  end
68
104
 
69
- def actionBump
105
+ # handler of `bmp [--info]`
106
+ def actionInfo
70
107
 
71
- repo = VersionDescriptorRepository.new @file
108
+ bumpInfo = getBumpInfo
72
109
 
73
- begin
74
- srv = repo.fromFile
75
- rescue Errno::ENOENT => e then
76
- @logger.log "Error: the file `#{@file}` not found."
110
+ showVersionPatterns bumpInfo
111
+
112
+ if bumpInfo.check
113
+ exit 0
114
+ else
77
115
  exit 1
78
116
  end
79
117
 
118
+ end
119
+
120
+ # handler of `bmp --patch|--minor|--major|--commit`
121
+ def actionBump
122
+
123
+ bumpInfo = getBumpInfo
124
+
80
125
  if @options[:patch]
81
- srv.patchBump
126
+ bumpInfo.patchBump
82
127
 
83
- @logger.log 'Bump patch level'
84
- @logger.log_green " #{srv.beforeVersion} => #{srv.afterVersion}"
128
+ log 'Bump patch level'
129
+ log_green " #{bumpInfo.beforeVersion} => #{bumpInfo.afterVersion}"
85
130
  end
86
131
 
87
132
  if @options[:minor]
88
- srv.minorBump
133
+ bumpInfo.minorBump
89
134
 
90
- @logger.log 'Bump minor level'
91
- @logger.log_green " #{srv.beforeVersion} => #{srv.afterVersion}"
135
+ log 'Bump minor level'
136
+ log_green " #{bumpInfo.beforeVersion} => #{bumpInfo.afterVersion}"
92
137
  end
93
138
 
94
139
  if @options[:major]
95
- srv.majorBump
140
+ bumpInfo.majorBump
96
141
 
97
- @logger.log 'Bump major level'
98
- @logger.log_green " #{srv.beforeVersion} => #{srv.afterVersion}"
142
+ log 'Bump major level'
143
+ log_green " #{bumpInfo.beforeVersion} => #{bumpInfo.afterVersion}"
99
144
  end
100
145
 
101
- @logger.log
146
+ log
102
147
 
103
- srv.rewriteRules.each do |rule|
104
- result = rule.perform
148
+ if not bumpInfo.check
149
+ log_red "Some patterns are invalid!"
150
+ log_red "Stops updating version numbers."
151
+ log
105
152
 
106
- if result
107
- @logger.log "#{rule.file}"
108
- @logger.log " Performed pattern replacement:"
109
- @logger.log_green " '#{rule.beforePattern}' => '#{rule.afterPattern}'"
110
- @logger.log
111
- else
112
- @logger.log_red " Current version pattern ('#{rule.beforePattern}') not found!"
113
- @logger.log
153
+ showVersionPatterns bumpInfo
114
154
 
115
- exit 1
116
- end
155
+ exit 1
117
156
  end
118
157
 
119
- repo.save srv
158
+ bumpInfo.performUpdate
159
+
160
+ bumpInfo.updateRules.each do |rule|
161
+
162
+ log "#{rule.file}"
163
+ log " Performed pattern replacement:"
164
+ log_green " '#{rule.beforePattern}' => '#{rule.afterPattern}'"
165
+ log
166
+
167
+ end
168
+
169
+ saveBumpInfo bumpInfo
120
170
 
121
171
  comm = Command.new @logger
122
172
 
123
173
  if @options[:commit]
124
174
  comm.exec "git add ."
125
- comm.exec "git commit -m 'Bump to version v#{srv.afterVersion}'"
126
- comm.exec "git tag v#{srv.afterVersion}"
175
+ comm.exec "git commit -m 'Bump to version v#{bumpInfo.afterVersion}'"
176
+ comm.exec "git tag v#{bumpInfo.afterVersion}"
127
177
  end
128
178
  end
129
179
 
130
- def actionError
131
- @logger.error @error_message
132
- end
133
-
180
+ # The entry point
134
181
  def main
135
182
 
136
183
  action = selectAction
@@ -144,12 +191,40 @@ module Bump
144
191
  actionInfo
145
192
  when :bump
146
193
  actionBump
147
- when :error
148
- actionError
149
194
  end
150
195
 
151
196
  end
152
197
 
198
+ # Logs the message
199
+ #
200
+ # @param [String] message
201
+ # @param [Boolean] newline
202
+ def log message = '', newline = true
203
+
204
+ @logger.log message, newline
205
+
206
+ end
207
+
208
+ # Logs the message in red
209
+ #
210
+ # @param [String] message
211
+ # @param [Boolean] newline
212
+ def log_red message, newline = true
213
+
214
+ @logger.log_red message, newline
215
+
216
+ end
217
+
218
+ # Logs the message in green
219
+ #
220
+ # @param [String] message
221
+ # @param [Boolean] newline
222
+ def log_green message, newline = true
223
+
224
+ @logger.log_green message, newline
225
+
226
+ end
227
+
153
228
  end
154
229
 
155
230
  end
@@ -1,8 +1,8 @@
1
1
  # lib/bump/domain.rb
2
2
 
3
- require 'bump/domain/version'
4
- require 'bump/domain/version_factory'
5
- require 'bump/domain/version_descriptor'
6
- require 'bump/domain/version_descriptor_repository'
7
- require 'bump/domain/file_rewrite_rule'
8
- require 'bump/domain/file_rewrite_rule_factory'
3
+ require 'bump/domain/version_number'
4
+ require 'bump/domain/version_number_factory'
5
+ require 'bump/domain/bump_info'
6
+ require 'bump/domain/bump_info_repository'
7
+ require 'bump/domain/file_update_rule'
8
+ require 'bump/domain/file_update_rule_factory'
@@ -0,0 +1,99 @@
1
+
2
+ require 'yaml'
3
+
4
+ module Bump
5
+
6
+ class BumpInfo
7
+
8
+ # @param [Bump::VersionNumber] version
9
+ # @param [Array] files
10
+ def initialize version, files
11
+ @version = version
12
+ @files = files
13
+
14
+ @before_version = @version.to_s
15
+ @after_version = @version.to_s
16
+
17
+ end
18
+
19
+ def version
20
+ @version
21
+ end
22
+
23
+ def files
24
+ @files
25
+ end
26
+
27
+ def majorBump
28
+ @version.bump 'major'
29
+ @after_version = @version.to_s
30
+ end
31
+
32
+ def minorBump
33
+ @version.bump 'minor'
34
+ @after_version = @version.to_s
35
+ end
36
+
37
+ def patchBump
38
+ @version.bump 'patch'
39
+ @after_version = @version.to_s
40
+ end
41
+
42
+ def updateRules
43
+ createUpdateRules
44
+ end
45
+
46
+ # Creates file update rules according to the current settings.
47
+ #
48
+ # @return [Bump::FileUpdateRule[]]
49
+ def createUpdateRules
50
+ @files.map { |file, pattern|
51
+ FileUpdateRuleFactory.create(file, pattern, @before_version, @after_version)
52
+ }.flatten
53
+ end
54
+
55
+ # Performs all updates.
56
+ def performUpdate
57
+
58
+ createUpdateRules.each do |rule|
59
+
60
+ rule.perform
61
+
62
+ end
63
+
64
+ end
65
+
66
+ # Checks the all the version patterns are available
67
+ #
68
+ # @return [Boolean]
69
+ def check
70
+
71
+ createUpdateRules.each do |rule|
72
+
73
+ if not rule.patternExists
74
+ return false
75
+ end
76
+
77
+ end
78
+
79
+ return true
80
+
81
+ end
82
+
83
+ # Returns the version number after the bumping.
84
+ #
85
+ # @return [String]
86
+ def afterVersion
87
+ @after_version
88
+ end
89
+
90
+ # Returns the version number before the bumping.
91
+ #
92
+ # @return [String]
93
+ def beforeVersion
94
+ @before_version
95
+ end
96
+
97
+ end
98
+
99
+ end
@@ -0,0 +1,44 @@
1
+
2
+
3
+ require 'yaml'
4
+
5
+ module Bump
6
+
7
+ class BumpInfoRepository
8
+
9
+ def initialize file
10
+ @file = file
11
+ end
12
+
13
+ # Gets the bump info from the given file
14
+ #
15
+ # @param [String] file
16
+ def fromFile
17
+
18
+ config = YAML.load_file @file
19
+ version = VersionNumberFactory.fromString config['version']
20
+ files = config['files']
21
+
22
+ BumpInfo.new version, files
23
+
24
+ end
25
+
26
+ # Saves the bump info
27
+ #
28
+ # @param [Bump::BumpInfo] bumpInfo
29
+ def save bumpInfo
30
+ File.write @file, toYaml(bumpInfo)
31
+ end
32
+
33
+ # @private
34
+ # @param [Bump::BumpInfo] bumpInfo
35
+ # @return [Hash]
36
+ def toYaml bumpInfo
37
+
38
+ {"version" => bumpInfo.version.to_s, "files" => bumpInfo.files}.to_yaml
39
+
40
+ end
41
+
42
+ end
43
+
44
+ end
@@ -2,18 +2,19 @@
2
2
 
3
3
  module Bump
4
4
 
5
- class FileRewriteRule
5
+ class FileUpdateRule
6
6
 
7
7
  PLACEHOLDER_PATTERN = '%.%.%'
8
8
 
9
+ # @param [String] file
10
+ # @param [String] pattern
11
+ # @param [Bump::VersionNumber] before_version
12
+ # @param [Bump::VersionNumber] after_version
9
13
  def initialize(file, pattern, before_version, after_version)
10
14
  @file = file
11
15
  @pattern = pattern || PLACEHOLDER_PATTERN # default pattern is '%.%.%'
12
16
  @before_version = before_version
13
17
  @after_version = after_version
14
- end
15
-
16
- def prepare
17
18
  @before_pattern = @pattern.sub PLACEHOLDER_PATTERN, @before_version
18
19
  @after_pattern = @pattern.sub PLACEHOLDER_PATTERN, @after_version
19
20
  end
@@ -30,17 +31,33 @@ module Bump
30
31
  @after_pattern
31
32
  end
32
33
 
33
- def perform
34
- prepare
34
+ def fileGetContents
35
+ File.read @file, :encoding => Encoding::UTF_8
36
+ end
35
37
 
36
- contents = File.read @file, :encoding => Encoding::UTF_8
38
+ # Checks if the pattern found in the file
39
+ #
40
+ # @return [Boolean]
41
+ def patternExists
42
+ fileGetContents.index @before_pattern
43
+ end
44
+
45
+ # Performs file update
46
+ #
47
+ # @return [Boolean]
48
+ def perform
49
+ contents = fileGetContents
37
50
 
38
51
  if contents.index @before_pattern
52
+
39
53
  File.write @file, contents.sub(@before_pattern, @after_pattern)
40
54
 
41
55
  return true
56
+
42
57
  else
58
+
43
59
  return false
60
+
44
61
  end
45
62
  end
46
63
 
@@ -0,0 +1,28 @@
1
+
2
+
3
+ module Bump
4
+
5
+ class FileUpdateRuleFactory
6
+
7
+ # Creates the file update rule from the given params.
8
+ #
9
+ # @param [String] file The filename
10
+ # @param [String|Array] param The version update info
11
+ # @param [String] before_version
12
+ # @param [String] after_version
13
+ def self.create file, param, before_version, after_version
14
+
15
+ case param
16
+ when String
17
+ return FileUpdateRule.new file, param, before_version, after_version
18
+ when Array
19
+ return param.map { |param| FileUpdateRule.new file, param, before_version, after_version }.flatten
20
+ else
21
+ return FileUpdateRule.new file, nil, before_version, after_version
22
+ end
23
+
24
+ end
25
+
26
+ end
27
+
28
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Bump
4
4
 
5
- class Version
5
+ class VersionNumber
6
6
 
7
7
  def initialize major, minor, patch, suffix = ''
8
8
  @major = major
@@ -2,14 +2,14 @@
2
2
 
3
3
  module Bump
4
4
 
5
- class VersionFactory
5
+ class VersionNumberFactory
6
6
 
7
7
  VERSION_REGEXP = /^(\d+).(\d+).(\d+)(\S*)$/
8
8
 
9
9
  def self.fromString version_string
10
10
  match = VERSION_REGEXP.match version_string
11
11
 
12
- return Version.new match[1].to_i, match[2].to_i, match[3].to_i, match[4]
12
+ return VersionNumber.new match[1].to_i, match[2].to_i, match[3].to_i, match[4]
13
13
  end
14
14
 
15
15
  end
@@ -1,3 +1,3 @@
1
1
  module Bump
2
- VERSION = "0.8.4"
2
+ VERSION = "0.9.0"
3
3
  end
@@ -2,6 +2,6 @@
2
2
  require 'bump'
3
3
  require 'spec_helper'
4
4
 
5
- describe Bump::FileRewriteRuleFactory do
5
+ describe Bump::BumpInfoRepository do
6
6
 
7
7
  end
@@ -2,6 +2,6 @@
2
2
  require 'bump'
3
3
  require 'spec_helper'
4
4
 
5
- describe Bump::VersionDescriptor do
5
+ describe Bump::BumpInfo do
6
6
 
7
7
  end
@@ -0,0 +1,7 @@
1
+
2
+ require 'bump'
3
+ require 'spec_helper'
4
+
5
+ describe Bump::FileUpdateRuleFactory do
6
+
7
+ end
@@ -2,12 +2,12 @@
2
2
  require 'bump'
3
3
  require 'spec_helper'
4
4
 
5
- describe Bump::FileRewriteRule do
5
+ describe Bump::FileUpdateRule do
6
6
 
7
7
  describe '#file' do
8
8
 
9
9
  it 'returns file property' do
10
- rule = Bump::FileRewriteRule.new 'abc', '%.%.%', '0.0.1', '1.0.0'
10
+ rule = Bump::FileUpdateRule.new 'abc', '%.%.%', '0.0.1', '1.0.0'
11
11
 
12
12
  expect(rule.file).to eq 'abc'
13
13
  end
@@ -17,9 +17,7 @@ describe Bump::FileRewriteRule do
17
17
  describe '#beforePattern' do
18
18
 
19
19
  it 'returns before_pattern property' do
20
- rule = Bump::FileRewriteRule.new 'abc', 'v%.%.%', '0.0.1', '1.0.0'
21
-
22
- rule.prepare
20
+ rule = Bump::FileUpdateRule.new 'abc', 'v%.%.%', '0.0.1', '1.0.0'
23
21
 
24
22
  expect(rule.beforePattern).to eq 'v0.0.1'
25
23
  end
@@ -29,13 +27,21 @@ describe Bump::FileRewriteRule do
29
27
  describe '#afterPattern' do
30
28
 
31
29
  it 'returns before_pattern property' do
32
- rule = Bump::FileRewriteRule.new 'abc', 'v%.%.%', '0.0.1', '1.0.0'
33
-
34
- rule.prepare
30
+ rule = Bump::FileUpdateRule.new 'abc', 'v%.%.%', '0.0.1', '1.0.0'
35
31
 
36
32
  expect(rule.afterPattern).to eq 'v1.0.0'
37
33
  end
38
34
 
39
35
  end
40
36
 
37
+ describe '#patternExists' do
38
+
39
+ it 'checks if the given pattern found in the file' do
40
+
41
+ rule = Bump::FileUpdateRule.new 'abc', 'v%.%.%', '0.0.1', '1.0.0'
42
+
43
+ end
44
+
45
+ end
46
+
41
47
  end
@@ -2,13 +2,13 @@
2
2
  require 'bump'
3
3
  require 'spec_helper'
4
4
 
5
- describe Bump::VersionFactory do
5
+ describe Bump::VersionNumberFactory do
6
6
 
7
7
  describe "#fromString" do
8
8
 
9
9
  it "creates version object from version string" do
10
10
 
11
- version = Bump::VersionFactory.fromString "1.2.3a"
11
+ version = Bump::VersionNumberFactory.fromString "1.2.3a"
12
12
 
13
13
  expect(version.to_s).to eq "1.2.3a"
14
14
 
@@ -28,7 +28,7 @@ describe Bump::VersionFactory do
28
28
 
29
29
  expect(version.to_s).to eq "2.0.0rc1"
30
30
 
31
- version = Bump::VersionFactory.fromString "1.2.100abc"
31
+ version = Bump::VersionNumberFactory.fromString "1.2.100abc"
32
32
 
33
33
  version.patchBump
34
34
 
@@ -3,19 +3,19 @@
3
3
  require 'bump'
4
4
  require 'spec_helper'
5
5
 
6
- describe Bump::Version do
6
+ describe Bump::VersionNumber do
7
7
 
8
8
  describe "#to_s" do
9
9
 
10
10
  it "returns version string" do
11
11
 
12
12
  # no suffix
13
- version = Bump::Version.new 1, 2, 3
13
+ version = Bump::VersionNumber.new 1, 2, 3
14
14
 
15
15
  expect(version.to_s).to eq '1.2.3'
16
16
 
17
17
  # with a suffix
18
- version = Bump::Version.new 1, 2, 3, 'rc1'
18
+ version = Bump::VersionNumber.new 1, 2, 3, 'rc1'
19
19
 
20
20
  expect(version.to_s).to eq '1.2.3rc1'
21
21
 
@@ -27,7 +27,7 @@ describe Bump::Version do
27
27
 
28
28
  it "bumps patch level" do
29
29
 
30
- version = Bump::Version.new 1, 2, 3
30
+ version = Bump::VersionNumber.new 1, 2, 3
31
31
 
32
32
  version.patchBump
33
33
 
@@ -37,7 +37,7 @@ describe Bump::Version do
37
37
 
38
38
  it "bumps 0.1.10 to 0.1.11" do
39
39
 
40
- version = Bump::Version.new 0, 1, 10
40
+ version = Bump::VersionNumber.new 0, 1, 10
41
41
 
42
42
  version.patchBump
43
43
 
@@ -47,7 +47,7 @@ describe Bump::Version do
47
47
 
48
48
  it "remove suffix if it is set" do
49
49
 
50
- version = Bump::Version.new 1, 2, 3, 'rc1'
50
+ version = Bump::VersionNumber.new 1, 2, 3, 'rc1'
51
51
 
52
52
  version.patchBump
53
53
 
@@ -61,7 +61,7 @@ describe Bump::Version do
61
61
 
62
62
  it "bumps patch level" do
63
63
 
64
- version = Bump::Version.new 1, 2, 3
64
+ version = Bump::VersionNumber.new 1, 2, 3
65
65
 
66
66
  version.minorBump
67
67
 
@@ -71,7 +71,7 @@ describe Bump::Version do
71
71
 
72
72
  it "remove suffix if it is set" do
73
73
 
74
- version = Bump::Version.new 1, 2, 3, 'rc1'
74
+ version = Bump::VersionNumber.new 1, 2, 3, 'rc1'
75
75
 
76
76
  version.minorBump
77
77
 
@@ -85,7 +85,7 @@ describe Bump::Version do
85
85
 
86
86
  it "bumps patch level" do
87
87
 
88
- version = Bump::Version.new 1, 2, 3
88
+ version = Bump::VersionNumber.new 1, 2, 3
89
89
 
90
90
  version.majorBump
91
91
 
@@ -95,7 +95,7 @@ describe Bump::Version do
95
95
 
96
96
  it "remove suffix if it is set" do
97
97
 
98
- version = Bump::Version.new 1, 2, 3, 'rc1'
98
+ version = Bump::VersionNumber.new 1, 2, 3, 'rc1'
99
99
 
100
100
  version.majorBump
101
101
 
@@ -109,7 +109,7 @@ describe Bump::Version do
109
109
 
110
110
  it "appends a suffix" do
111
111
 
112
- version = Bump::Version.new 1, 2, 3
112
+ version = Bump::VersionNumber.new 1, 2, 3
113
113
 
114
114
  version.append 'rc1'
115
115
 
@@ -119,7 +119,7 @@ describe Bump::Version do
119
119
 
120
120
  it "rewrite the suffix if it is already set" do
121
121
 
122
- version = Bump::Version.new 1, 2, 3, 'rc1'
122
+ version = Bump::VersionNumber.new 1, 2, 3, 'rc1'
123
123
 
124
124
  version.append 'rc2'
125
125
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bmp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.4
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshiya Hinosawa
@@ -61,6 +61,7 @@ extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
63
  - ".bmp.yml"
64
+ - ".editorconfig"
64
65
  - ".gitignore"
65
66
  - ".travis.yml"
66
67
  - Gemfile
@@ -76,22 +77,22 @@ files:
76
77
  - lib/bump/cli.rb
77
78
  - lib/bump/command.rb
78
79
  - lib/bump/domain.rb
79
- - lib/bump/domain/file_rewrite_rule.rb
80
- - lib/bump/domain/file_rewrite_rule_factory.rb
81
- - lib/bump/domain/version.rb
82
- - lib/bump/domain/version_descriptor.rb
83
- - lib/bump/domain/version_descriptor_repository.rb
84
- - lib/bump/domain/version_factory.rb
80
+ - lib/bump/domain/bump_info.rb
81
+ - lib/bump/domain/bump_info_repository.rb
82
+ - lib/bump/domain/file_update_rule.rb
83
+ - lib/bump/domain/file_update_rule_factory.rb
84
+ - lib/bump/domain/version_number.rb
85
+ - lib/bump/domain/version_number_factory.rb
85
86
  - lib/bump/logger.rb
86
87
  - lib/bump/version.rb
87
88
  - spec/bump/application_spec.rb
88
89
  - spec/bump/cli_spec.rb
89
- - spec/bump/domain/file_rewrite_rule_factory_spec.rb
90
- - spec/bump/domain/file_rewrite_rule_spec.rb
91
- - spec/bump/domain/version_descriptor_repository_spec.rb
92
- - spec/bump/domain/version_descriptor_spec.rb
93
- - spec/bump/domain/version_factory_spec.rb
94
- - spec/bump/domain/version_spec.rb
90
+ - spec/bump/domain/bump_info_repository_spec.rb
91
+ - spec/bump/domain/bump_info_spec.rb
92
+ - spec/bump/domain/file_update_rule_factory_spec.rb
93
+ - spec/bump/domain/file_update_rule_spec.rb
94
+ - spec/bump/domain/version_number_factory_spec.rb
95
+ - spec/bump/domain/version_number_spec.rb
95
96
  - spec/bump/logger_spec.rb
96
97
  - spec/spec_helper.rb
97
98
  homepage: https://github.com/kt3k/bump
@@ -121,11 +122,11 @@ summary: No hassle on bumping
121
122
  test_files:
122
123
  - spec/bump/application_spec.rb
123
124
  - spec/bump/cli_spec.rb
124
- - spec/bump/domain/file_rewrite_rule_factory_spec.rb
125
- - spec/bump/domain/file_rewrite_rule_spec.rb
126
- - spec/bump/domain/version_descriptor_repository_spec.rb
127
- - spec/bump/domain/version_descriptor_spec.rb
128
- - spec/bump/domain/version_factory_spec.rb
129
- - spec/bump/domain/version_spec.rb
125
+ - spec/bump/domain/bump_info_repository_spec.rb
126
+ - spec/bump/domain/bump_info_spec.rb
127
+ - spec/bump/domain/file_update_rule_factory_spec.rb
128
+ - spec/bump/domain/file_update_rule_spec.rb
129
+ - spec/bump/domain/version_number_factory_spec.rb
130
+ - spec/bump/domain/version_number_spec.rb
130
131
  - spec/bump/logger_spec.rb
131
132
  - spec/spec_helper.rb
@@ -1,22 +0,0 @@
1
-
2
-
3
- module Bump
4
-
5
- class FileRewriteRuleFactory
6
-
7
- def self.create file, param, before_version, after_version
8
-
9
- case param
10
- when String
11
- return FileRewriteRule.new file, param, before_version, after_version
12
- when Array
13
- return param.map { |param| FileRewriteRule.new file, param, before_version, after_version }.flatten
14
- else
15
- return FileRewriteRule.new file, nil, before_version, after_version
16
- end
17
-
18
- end
19
-
20
- end
21
-
22
- end
@@ -1,65 +0,0 @@
1
-
2
- require 'yaml'
3
-
4
- module Bump
5
-
6
- class VersionDescriptor
7
-
8
- def initialize config
9
- @config = config
10
-
11
- @version = VersionFactory.fromString @config['version']
12
-
13
- @before_version = @version.to_s
14
- @after_version = @version.to_s
15
-
16
- end
17
-
18
- def resetAfterVersion
19
- @after_version = @version.to_s
20
- @config['version'] = @after_version
21
- end
22
-
23
- def toYaml
24
- @config.to_yaml
25
- end
26
-
27
- def majorBump
28
- @version.bump 'major'
29
-
30
- resetAfterVersion
31
- end
32
-
33
- def minorBump
34
- @version.bump 'minor'
35
-
36
- resetAfterVersion
37
- end
38
-
39
- def patchBump
40
- @version.bump 'patch'
41
-
42
- resetAfterVersion
43
- end
44
-
45
- def config
46
- @config
47
- end
48
-
49
- def rewriteRules
50
- return @config['files'].map { |file, param|
51
- FileRewriteRuleFactory.create(file, param, @before_version, @after_version)
52
- }.flatten
53
- end
54
-
55
- def afterVersion
56
- @after_version
57
- end
58
-
59
- def beforeVersion
60
- @before_version
61
- end
62
-
63
- end
64
-
65
- end
@@ -1,23 +0,0 @@
1
-
2
-
3
- require 'yaml'
4
-
5
- module Bump
6
-
7
- class VersionDescriptorRepository
8
-
9
- def initialize file
10
- @file = file
11
- end
12
-
13
- def fromFile
14
- VersionDescriptor.new YAML.load_file @file
15
- end
16
-
17
- def save descriptor
18
- File.write @file, descriptor.toYaml
19
- end
20
-
21
- end
22
-
23
- end
@@ -1,7 +0,0 @@
1
-
2
- require 'bump'
3
- require 'spec_helper'
4
-
5
- describe Bump::VersionDescriptorRepository do
6
-
7
- end