Class: RakeTasks::Gem::Version

Inherits:
Object
  • Object
show all
Defined in:
lib/rake_tasks/gem.rb

Instance Method Summary collapse

Constructor Details

#initialize(string_version) ⇒ Version

Returns a new instance of Version.



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/rake_tasks/gem.rb', line 40

def initialize(string_version)
  @marks = string_version.split('.')
  @marks = @marks.map do |mark|
    if mark.to_i.to_s == mark.to_s
      mark.to_i
    else
      mark
    end
  end
  @scrubbed = false
end

Instance Method Details

#next_major_version!Object



77
78
79
80
81
82
83
84
85
86
# File 'lib/rake_tasks/gem.rb', line 77

def next_major_version!
  scrub!
  @marks.count.times do |n|
    if n == 0
      @marks[n] += 1
    else
      @marks[n] = 0
    end
  end
end

#next_minor_version!Object



63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/rake_tasks/gem.rb', line 63

def next_minor_version!
  scrub!
  @marks.count.times do |n|
    case n
    when 0
      @marks[n] = @marks[n]
    when 1
      @marks[n] += 1
    else
      @marks[n] = 0
    end
  end
end

#next_revision!Object



58
59
60
61
# File 'lib/rake_tasks/gem.rb', line 58

def next_revision!
  scrub!
  @marks[-1] += 1
end

#scrub!Object



52
53
54
55
56
# File 'lib/rake_tasks/gem.rb', line 52

def scrub!
  return if @scrubbed
  @marks = @marks.select { |m| m.is_a?(Integer) }
  @scrubbed = true
end

#to_sObject



88
89
90
# File 'lib/rake_tasks/gem.rb', line 88

def to_s
  @marks.join('.')
end