Class: RakeRoll::Version

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(current_version) ⇒ Version

Returns a new instance of Version.



7
8
9
# File 'lib/rake_roll/version.rb', line 7

def initialize(current_version)
  @current_version = check_current_version(current_version)
end

Instance Attribute Details

#current_versionObject (readonly)

Returns the value of attribute current_version.



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

def current_version
  @current_version
end

Instance Method Details

#bumpObject



11
12
13
14
15
16
17
# File 'lib/rake_roll/version.rb', line 11

def bump
  nums = current_version.split(".")
  last_number = nums[-1].scan(/\d/).first.to_i
  last_number = last_number + 1
  nums[-1] = last_number
  nums.join(".")
end

#majorObject



41
42
43
44
45
46
47
48
49
# File 'lib/rake_roll/version.rb', line 41

def major
  nums = current_version.split(".")
  major_number = nums[0].scan(/\d/).first.to_i
  major_number = major_number + 1
  nums[0] = major_number
  nums[-1] = "0"
  nums[-2] = "0" if nums.length == 3
  nums.join(".")
end

#minorObject



31
32
33
34
35
36
37
38
39
# File 'lib/rake_roll/version.rb', line 31

def minor
  nums = current_version.split(".")
  minor_number = nums[1].scan(/\d/).first.to_i
  minor_number = minor_number + 1
  nums[1] = minor_number.to_s
  nums.last.gsub!(/\D/, "")
  nums[-1] = "0" if nums.length == 3
  nums.join(".")
end

#preObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rake_roll/version.rb', line 19

def pre
  nums = current_version.split(".")
  pre_letter = nums[-1].scan(/\D/).first
  if pre_letter
    next_letter = pre_letter.next
    nums[-1].gsub!(pre_letter, next_letter)
  else
    nums[-1] = nums[-1] + "a"
  end
  nums.join(".")
end