Module: RDoc::Parser::ChangeLog::Git
- Defined in:
- lib/rdoc/parser/changelog.rb
Defined Under Namespace
Classes: LogEntry
Instance Method Summary collapse
Instance Method Details
#create_entries(entries) ⇒ Object
247 248 249 250 251 252 253 |
# File 'lib/rdoc/parser/changelog.rb', line 247 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 ⇒ Object
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
# File 'lib/rdoc/parser/changelog.rb', line 225 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] = header[/^ *Author: +(.*)/, 1] begin time = parse_date(header[/^ *CommitDate: +(.*)/, 1] || date) @time_cache[entry_name] = time .sub!(/\s*<(.*)>/, '') email = $1 entries << [entry_name, [, email, date, entry_body]] rescue ArgumentError end end entries end |
#parse_info(info) ⇒ Object
220 221 222 223 |
# File 'lib/rdoc/parser/changelog.rb', line 220 def parse_info(info) /^\s*base-url\s*=\s*(.*\S)/ =~ info @base_url = $1 end |