Class: RakeRoll::Versioning
- Inherits:
-
Object
- Object
- RakeRoll::Versioning
- Defined in:
- lib/rake_roll/versioning.rb
Instance Attribute Summary collapse
-
#current_version ⇒ Object
readonly
Returns the value of attribute current_version.
Instance Method Summary collapse
- #bump_example ⇒ Object
-
#initialize(current_version) ⇒ Versioning
constructor
A new instance of Versioning.
- #major ⇒ Object
- #minor ⇒ Object
- #next ⇒ Object
- #pre ⇒ Object
- #revision ⇒ Object
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_version ⇒ Object (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_example ⇒ Object
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 |
#major ⇒ Object
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 |
#minor ⇒ Object
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 |
#next ⇒ Object
69 70 71 |
# File 'lib/rake_roll/versioning.rb', line 69 def next 'NEXT' end |
#pre ⇒ Object
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 |
#revision ⇒ Object
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 |