Class: RakeRoll::Versioning

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(current_version) ⇒ Versioning

Returns a new instance of Versioning.



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

def initialize(current_version)
  @current_version = validate_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/versioning.rb', line 5

def current_version
  @current_version
end

Instance Method Details

#bump_exampleObject



35
36
37
38
39
40
41
42
43
# File 'lib/rake_roll/versioning.rb', line 35

def bump_example
  return unless current_version
  if nums = current_version.dup
    last_number = nums[-1].scan(/\d+/).first.to_i
    last_number = last_number + 5
    nums[-1] = last_number
    nums.join(".")
  end
end

#majorObject



57
58
59
60
61
62
63
64
65
66
67
# File 'lib/rake_roll/versioning.rb', line 57

def major
  return unless current_version
  if nums = current_version.dup
    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
end

#minorObject



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/rake_roll/versioning.rb', line 45

def minor
  return unless current_version
  if nums = current_version.dup
    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
end

#nextObject



69
70
71
# File 'lib/rake_roll/versioning.rb', line 69

def next
  'NEXT'
end

#preObject



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rake_roll/versioning.rb', line 11

def pre
  return unless current_version
  if nums = current_version.dup
    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
end

#revisionObject



25
26
27
28
29
30
31
32
33
# File 'lib/rake_roll/versioning.rb', line 25

def revision
  return unless current_version
  if nums = current_version.dup
    last_number = nums[-1].scan(/\d+/).first.to_i
    last_number = last_number + 1
    nums[-1] = last_number
    nums.join(".")
  end
end