Files
gitx/Site/lib/release_notes.rb
2009-03-28 22:27:30 +00:00

50 lines
1.2 KiB
Ruby

#!/usr/bin/ruby
RELEASE_NOTES_PATH = File.join(File.dirname(__FILE__), "..", "..", "Documentation", "ReleaseNotes")
module ReleaseNotes
VERSION_MATCH = /v([0-9.]*).txt$/
# Find all release not files
def self.release_files
notes = Dir.glob(File.join(RELEASE_NOTES_PATH, "v*.txt"))
# Sort files by version number
notes.sort do |x,y|
x = x.match VERSION_MATCH
y = y.match VERSION_MATCH
# Puts nonmatching files at the bottom
if !x && y
1
elsif !y && x
-1
else
# compare version strings, newest at the top
y[1].split(".").map { |a| a.to_i } <=> x[1].split(".").map { |a| a.to_i }
end
end
end
# Aggregate all release notes in a string
def self.aggregate_notes
file = ""
release_files.each do |x|
file << File.read(x)
file << "\n"
end
file
end
def self.last_version
last_file = release_files.first
if last_file =~ VERSION_MATCH
return $1
end
nil
end
def self.last_notes
File.read(release_files.first)
end
end