module RDoc::Parser::ChangeLog::Git
The extension for Git
commit log
Public Instance Methods
create_entries(entries)
click to toggle source
Returns a list of ChangeLog
entries as RDoc::Parser::ChangeLog::Git::LogEntry list for the given entries
.
# File rdoc/parser/changelog.rb, line 262 def create_entries entries # git log entries have no strictly itemized style like the old # style, just assume Markdown. entries.map do |commit, entry| LogEntry.new(@base_url, commit, *entry) end end
parse_entries()
click to toggle source
Parses the entries in the Git
commit logs
# File rdoc/parser/changelog.rb, line 235 def parse_entries entries = [] @content.scan(/^commit\s+(\h{20})\h*\n((?:.+\n)*)\n((?: {4}.*\n+)*)/) do entry_name, header, entry_body = $1, $2, $3.gsub(/^ {4}/, '') # header = header.scan(/^ *(\S+?): +(.*)/).to_h # date = header["CommitDate"] || header["Date"] date = header[/^ *(?:Author)?Date: +(.*)/, 1] author = header[/^ *Author: +(.*)/, 1] begin time = parse_date(header[/^ *CommitDate: +(.*)/, 1] || date) @time_cache[entry_name] = time author.sub!(/\s*<(.*)>/, '') email = $1 entries << [entry_name, [author, email, date, entry_body]] rescue ArgumentError end end entries end
parse_info(info)
click to toggle source
Parses auxiliary info. Currently ‘base-url` to expand references is effective.
# File rdoc/parser/changelog.rb, line 227 def parse_info(info) /^\s*base-url\s*=\s*(.*\S)/ =~ info @base_url = $1 end