class RakeVersion::Manager

Public Class Methods

new() click to toggle source
# File lib/rake-version/manager.rb, line 6
def initialize
  @copiers = []
end

Public Instance Methods

bump(type) click to toggle source
# File lib/rake-version/manager.rb, line 20
def bump type
  check_context
  copy save(version.bump(type))
end
config=(config) click to toggle source
# File lib/rake-version/manager.rb, line 25
def config= config
  @copiers = config.copiers
  self
end
set(version_string) click to toggle source
# File lib/rake-version/manager.rb, line 15
def set version_string
  check_context
  copy save(RakeVersion::Version.new.from_s(version_string))
end
version() click to toggle source
# File lib/rake-version/manager.rb, line 10
def version
  check_context
  RakeVersion::Version.new.from_s read_version
end
with_context(context) { |self| ... } click to toggle source
# File lib/rake-version/manager.rb, line 30
def with_context context, &block
  @context = context
  yield self if block_given?
  @context = nil
  self
end

Private Instance Methods

check_context() click to toggle source
# File lib/rake-version/manager.rb, line 45
def check_context
  raise MissingContext, "A context must be given with :with_context." unless @context
end
copy(version) click to toggle source
# File lib/rake-version/manager.rb, line 39
def copy version
  check_context
  @copiers.each{ |c| c.copy version, @context }
  version
end
read_version() click to toggle source
# File lib/rake-version/manager.rb, line 54
def read_version
  raise MissingVersionFile, "Version file doesn't exist: #{version_file}" unless File.exists? version_file
  File.read version_file
end
save(version) click to toggle source
# File lib/rake-version/manager.rb, line 49
def save version
  RakeVersion.check_version version
  write_version version
end
version_file() click to toggle source
# File lib/rake-version/manager.rb, line 63
def version_file
  File.join @context.root, version_filename
end
version_filename() click to toggle source
# File lib/rake-version/manager.rb, line 67
def version_filename
  @version_filename || 'VERSION'
end
write_version(version) click to toggle source
# File lib/rake-version/manager.rb, line 59
def write_version version
  version.tap{ |v| File.open(version_file, 'w'){ |f| f.write version.to_s } }
end