Class: Semvergen::VersionFile

Inherits:
Object
  • Object
show all
Defined in:
lib/semvergen/version_file.rb

Constant Summary collapse

VERSION_TEMPLATE =
<<-RUBY
module Quattro
  VERSION = "%s"
end
RUBY

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ VersionFile

Returns a new instance of VersionFile.


5
6
7
# File 'lib/semvergen/version_file.rb', line 5

def initialize(file)
  @file = file
end

Instance Method Details

#fileObject


24
25
26
27
# File 'lib/semvergen/version_file.rb', line 24

def file
  @file.rewind
  @file
end

#pathObject


29
30
31
# File 'lib/semvergen/version_file.rb', line 29

def path
  @file.path
end

#versionObject


9
10
11
12
13
14
15
# File 'lib/semvergen/version_file.rb', line 9

def version
  if file.read =~ /VERSION\s*=\s*["'](\d+\.\d+\.\d+)["']/
    $1
  else
    raise "Don't understand version"
  end
end

#version=(new_version) ⇒ Object


17
18
19
20
21
22
# File 'lib/semvergen/version_file.rb', line 17

def version=(new_version)
  content = file.read.gsub(/VERSION.*$/, %Q[VERSION = "#{new_version}"])
  file.truncate(0)
  file.write content
  file.flush
end