Class: CaptiveRelease::VersionBumper
- Inherits:
-
Object
- Object
- CaptiveRelease::VersionBumper
- Defined in:
- lib/captive_release/version_bumper.rb
Constant Summary collapse
- SEMVER_RE =
/\A\d+\.\d+\.\d+\z/
Class Method Summary collapse
Instance Method Summary collapse
- #bump(type) ⇒ Object
-
#initialize(current) ⇒ VersionBumper
constructor
A new instance of VersionBumper.
Constructor Details
#initialize(current) ⇒ VersionBumper
Returns a new instance of VersionBumper.
11 12 13 14 15 |
# File 'lib/captive_release/version_bumper.rb', line 11 def initialize(current) raise ArgumentError, "Invalid semver: #{current}" unless current.match?(SEMVER_RE) @major, @minor, @patch = current.split(".").map(&:to_i) end |
Class Method Details
.bump(current, type) ⇒ Object
7 8 9 |
# File 'lib/captive_release/version_bumper.rb', line 7 def self.bump(current, type) new(current).bump(type) end |
Instance Method Details
#bump(type) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/captive_release/version_bumper.rb', line 17 def bump(type) case type.to_s when "major" then "#{@major + 1}.0.0" when "minor" then "#{@major}.#{@minor + 1}.0" when "patch" then "#{@major}.#{@minor}.#{@patch + 1}" else raise ArgumentError, "Invalid version: #{type}" unless type.to_s.match?(SEMVER_RE) type.to_s end end |