Class: Sycersion::VersionIncrementer

Inherits:
Object
  • Object
show all
Defined in:
lib/sycersion/version_incrementer.rb

Overview

Increments the elements of a semantic version number major, minor, patch

Instance Method Summary collapse

Constructor Details

#initializeVersionIncrementer

Returns a new instance of VersionIncrementer.



8
9
10
# File 'lib/sycersion/version_incrementer.rb', line 8

def initialize
  @environment = Sycersion::VersionEnvironment.new
end

Instance Method Details

#current_versionObject



36
37
38
# File 'lib/sycersion/version_incrementer.rb', line 36

def current_version
  @environment.version.scan(NORMAL_REGEX).flatten
end

#increment(position) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/sycersion/version_incrementer.rb', line 12

def increment(position)
  @environment.version = case position
                         when :major
                           increment_major
                         when :minor
                           increment_minor
                         when :patch
                           increment_patch
                         end
  @environment.save
end

#increment_majorObject



24
25
26
# File 'lib/sycersion/version_incrementer.rb', line 24

def increment_major
  "#{current_version[0].to_i + 1}.0.0"
end

#increment_minorObject



28
29
30
# File 'lib/sycersion/version_incrementer.rb', line 28

def increment_minor
  "#{current_version[0]}.#{current_version[1].to_i + 1}.0"
end

#increment_patchObject



32
33
34
# File 'lib/sycersion/version_incrementer.rb', line 32

def increment_patch
  "#{current_version[0]}.#{current_version[1]}.#{current_version[2].to_i + 1}"
end