lib/renuo/cli/app/renuo_version.rb in renuo-cli-3.1.7 vs lib/renuo/cli/app/renuo_version.rb in renuo-cli-4.2.0
- old
+ new
@@ -1,11 +1,13 @@
+# frozen_string_literal: true
+
class RenuoVersion
- SEMVER_SCHEMA = /^\d+\.\d+\.\d+(\.[a-z]+\d+)?$/.freeze
+ SEMVER_SCHEMA = /^\d+\.\d+\.\d+(\.[a-z]+\d+)?$/
SEGMENTS = %w[major minor patch].freeze
def self.create(str)
- raise "Invalid segments (#{str} =~ #{SEMVER_SCHEMA})" unless str =~ SEMVER_SCHEMA
+ raise "Invalid segments (#{str} =~ #{SEMVER_SCHEMA})" unless SEMVER_SCHEMA.match?(str)
new(*str.split('.'))
end
attr_reader :segments
@@ -16,11 +18,11 @@
end
def bump(segment)
raise "Invalid segment #{segment} (must be one of #{SEGMENTS})" unless SEGMENTS.include?(segment)
- send("bump_#{segment}")
+ send(:"bump_#{segment}")
self
end
# Returns true if it's a release candidate (e.g. 3.0.0.rc4)
def prerelease?
@@ -42,10 +44,10 @@
end
def bump_patch
if prerelease?
old_number = @segments[3][/\d+/]
- @segments[3].gsub!(old_number, (old_number.to_i + 1).to_s)
+ @segments[3] = @segments[3].gsub(old_number, (old_number.to_i + 1).to_s)
else # default patch
@segments = [*@segments[0..1], @segments[2] + 1]
end
end
end