Sha256: 69758237b652621d731c4edbdb658940d3cc306a826b97b82907cae59662c13d
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
module Semvergen class ChangeLogFile def initialize(change_log_filename=nil) @change_log_filename = change_log_filename || "CHANGELOG.md" end def <<(message) current_change_log = File.exist?(@change_log_filename) ? File.read(@change_log_filename) : "" new_change_log = "# Changelog\n\n#{message}" + current_change_log.gsub("# Changelog\n", "") File.open(@change_log_filename, "w") { |f| f.write new_change_log } end def features(version=nil) features_for_version(version || latest_version) end private def latest_version lines = File.readlines(@change_log_filename).map { |l| l.chomp } Array(lines.slice_before(/^#/))[1][0].gsub("# ", "") end def features_for_version(version) lines = File.readlines(@change_log_filename).map { |l| l.chomp } features = lines.slice_before(/^#/).select { |a| a.first == "# #{version}" }.first[1..-1] features.select do |feature| !feature.empty? end.compact end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
semvergen-1.7.1 | lib/semvergen/change_log_file.rb |
semvergen-1.6.0 | lib/semvergen/change_log_file.rb |