module OhlohScm::Parsers class XmlWriter # Note that we use << instead of write() or puts() in this writer because # the << operator works on both File and String objects. attr_accessor :buffer def initialize(buffer='') @buffer = buffer end def write_preamble(opts = {}) @buffer << "\n" @buffer << "\n" end def write_commit(commit) @buffer << " \n" if commit.author_name @buffer << " \n" end if commit.committer_name @buffer << " \n" end if commit.message @buffer << " #{commit.message}\n" end if commit.diffs && commit.diffs.any? @buffer << " \n" commit.diffs.each { |diff| write_diff(diff) } @buffer << " \n" end @buffer << " \n" end def write_diff(diff) @buffer << " \n" end def write_postamble @buffer << "\n" end def xml_time(time) case time when Time time.utc.strftime("%Y-%m-%dT%H:%M:%SZ") when String time end end end end