class DocumentGenerator::Commit
Attributes
base_url[RW]
git_commit[RW]
Public Class Methods
new(base_url, git_commit)
click to toggle source
# File lib/document_generator/commit.rb, line 5 def initialize(base_url, git_commit) @base_url = base_url @git_commit = git_commit end
Public Instance Methods
additional()
click to toggle source
# File lib/document_generator/commit.rb, line 47 def additional <<-ADDITIONAL ### Additional Resources * [Changes in this step in `diff` format](#{URI.join(base_url, 'commit/', git_commit.sha)}) ADDITIONAL end
basename_prefix()
click to toggle source
# File lib/document_generator/commit.rb, line 69 def basename_prefix message = first_line_of_commit_message message = message.split.join('-') message.gsub!(%r{[^\w-]}, '') message.downcase! message.tr!('_', '-') message end
commit_message_lines()
click to toggle source
# File lib/document_generator/commit.rb, line 57 def commit_message_lines git_commit.message.split("\n") end
create()
click to toggle source
# File lib/document_generator/commit.rb, line 22 def create File.open(relative_filename, 'w') do |writer| writer.write(header) writer.write(details_of_commit_message) if details_of_commit_message diff_files.each do |diff_file| writer.write(diff_file.content) end writer.write(additional) end end
details_of_commit_message()
click to toggle source
# File lib/document_generator/commit.rb, line 65 def details_of_commit_message commit_message_lines[1..-1].join("\n") if commit_message_lines.length > 1 end
diff_files()
click to toggle source
# File lib/document_generator/commit.rb, line 10 def diff_files return [] unless git_commit.parent git_commit.parent.diff(git_commit).map do |git_diff_file| DiffFile.new(git_diff_file) end end
filename()
click to toggle source
# File lib/document_generator/commit.rb, line 78 def filename "#{basename_prefix}.md" end
first_line_of_commit_message()
click to toggle source
# File lib/document_generator/commit.rb, line 61 def first_line_of_commit_message commit_message_lines.first end
header()
click to toggle source
# File lib/document_generator/commit.rb, line 35 def header <<-HEADER --- layout: default title: #{first_line_of_commit_message} --- <h1 id="main">#{first_line_of_commit_message}</h1> HEADER end
link()
click to toggle source
# File lib/document_generator/commit.rb, line 82 def link "<li><a href='#{basename_prefix}.html'>#{first_line_of_commit_message}</a></li>" end
relative_filename()
click to toggle source
# File lib/document_generator/commit.rb, line 18 def relative_filename filename end