Class: Semvergen::VersionFile

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

Constant Summary collapse

VERSION_TEMPLATE =
"module Quattro\n  VERSION = \"%s\"\nend\n"

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ VersionFile

Returns a new instance of VersionFile.

[View source]

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

def initialize(file)
  @file = file
end

Instance Method Details

#fileObject

[View source]

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

def file
  @file.rewind
  @file
end

#pathObject

[View source]

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

def path
  @file.path
end

#versionObject

[View source]

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

[View source]

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