Class: Versioner

Inherits:
Object
  • Object
show all
Defined in:
lib/rake-extensions.rb,
lib/rake-extensions.rb

Overview

version management

Direct Known Subclasses

GemspecVersioner, JsonVersioner, TomlVersioner

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version_dir) ⇒ Versioner

Returns a new instance of Versioner.



83
84
85
# File 'lib/rake-extensions.rb', line 83

def initialize(version_dir)
  @version_dir = version_dir
end

Class Method Details

.for(type, version_dir) ⇒ Object



58
59
60
61
62
63
64
65
66
67
# File 'lib/rake-extensions.rb', line 58

def self.for(type, version_dir)
  case type
  when :gemspec
    GemspecVersioner.new(version_dir)
  when :package_json
    JsonVersioner.new(version_dir)
  when :cargo_toml
    TomlVersioner.new(version_dir)
  end
end

Instance Method Details

#get_next_version(jump) ⇒ Object



86
87
88
89
90
# File 'lib/rake-extensions.rb', line 86

def get_next_version(jump)
  current_version = get_current_version()
  v = Version.new(current_version)
  v.send(jump)
end

#increment_version(jump) ⇒ Object



91
92
93
94
95
# File 'lib/rake-extensions.rb', line 91

def increment_version(jump)
  next_version = get_next_version(jump)
  puts "increment version from #{get_current_version} ==> #{next_version}"
  update_version(next_version)
end