Class: VersionParser::Version

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#majorObject

Returns the value of attribute major

Returns:

  • (Object)

    the current value of major



4
5
6
# File 'lib/version.rb', line 4

def major
  @major
end

#minorObject

Returns the value of attribute minor

Returns:

  • (Object)

    the current value of minor



4
5
6
# File 'lib/version.rb', line 4

def minor
  @minor
end

#patchObject

Returns the value of attribute patch

Returns:

  • (Object)

    the current value of patch



4
5
6
# File 'lib/version.rb', line 4

def patch
  @patch
end

#prerelease_nameObject

Returns the value of attribute prerelease_name

Returns:

  • (Object)

    the current value of prerelease_name



4
5
6
# File 'lib/version.rb', line 4

def prerelease_name
  @prerelease_name
end

#prerelease_versionObject

Returns the value of attribute prerelease_version

Returns:

  • (Object)

    the current value of prerelease_version



4
5
6
# File 'lib/version.rb', line 4

def prerelease_version
  @prerelease_version
end

Instance Method Details

#bump_majorObject



14
15
16
# File 'lib/version.rb', line 14

def bump_major
  Version.new(major + 1, 0, 0, prerelease_name, nil)
end

#bump_minorObject



18
19
20
# File 'lib/version.rb', line 18

def bump_minor
  Version.new(major, minor + 1, 0, prerelease_name, nil)
end

#bump_patchObject



22
23
24
# File 'lib/version.rb', line 22

def bump_patch
  Version.new(major, minor, patch + 1, prerelease_name, nil)
end

#bump_prereleaseObject



26
27
28
# File 'lib/version.rb', line 26

def bump_prerelease
  Version.new(major, minor, patch, prerelease_name, prerelease_version ? prerelease_version + 1 : 1)
end

#to_sObject



5
6
7
8
9
10
11
12
# File 'lib/version.rb', line 5

def to_s
  return "#{major}.#{minor}.#{patch}-#{prerelease_name}.#{prerelease_version}" if prerelease_name && prerelease_version
  return "#{major}.#{minor}.#{patch}-#{prerelease_name}" if prerelease_name && !prerelease_version
  return "#{major}.#{minor}.#{patch}" if patch
  return "#{major}.#{minor}" if minor

  major.to_s
end