Module: Wrongdoc::Changelog

Includes:
History
Included in:
Prepare
Defined in:
lib/wrongdoc/changelog.rb

Overview

helper method for generating the ChangeLog in RDoc format atomically

Instance Method Summary collapse

Methods included from History

#initialize_history, #old_summaries, #tag_uri, #tags

Instance Method Details

#changelogObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/wrongdoc/changelog.rb', line 5

def changelog
  fp = Tempfile.new('ChangeLog', '.')
  fp.write "ChangeLog from #@cgit_uri"
  cmd = %w(git log)
  if @changelog_start && tags[0]
    range = "#@changelog_start..#{tags[0][:tag]}"
    fp.write(" (#{range})")
    cmd << range
  end
  fp.write("\n\n")
  prefix = "   "
  IO.popen(cmd.join(' ')) do |io|
    io.each { |line|
      fp.write prefix
      fp.write line
    }
  end
  fp.chmod(0666 & ~File.umask)
  File.rename(fp.path, 'ChangeLog')
  fp.close!
end