Class: GFSM::Data::Version

Inherits:
SemVersion
  • Object
show all
Defined in:
lib/data/version.rb

Constant Summary collapse

PRERELEASE_BUILD_VERSION =
/^(?<prerelease_name>[a-zA-Z\-]+)(\.?)(?<prerelease_version>[0-9]*)$/i

Instance Method Summary collapse

Instance Method Details

#add_prerelease_suffix!(prerelease_name) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/data/version.rb', line 27

def add_prerelease_suffix!(prerelease_name)
  preselease_match = self.pre.match(PRERELEASE_BUILD_VERSION) if self.pre
  if preselease_match
    self.pre = preselease_match[:prerelease_name] + "." + (preselease_match[:prerelease_version].to_i + 1).to_s
  else
    self.pre = prerelease_name
  end
end

#bump!(major = false, minor = false, patch = true, pre = false, prerelease_name) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/data/version.rb', line 10

def bump!(major = false, minor = false, patch = true, pre = false, prerelease_name)
  if major
    self.major = self.major + 1
    self.minor = 0
    self.patch = 0
  elsif minor
    self.minor = self.minor + 1
    self.patch = 0
  elsif patch
    self.patch = self.patch + 1
  end

  if pre
    self.add_prerelease_suffix!(prerelease_name)
  end
end