bmp 0.8.4 → 0.9.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
  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