class Polisher::RPM::Patch

Attributes

content[RW]
title[RW]

Public Class Methods

from(diff) click to toggle source
# File lib/polisher/rpm/patch.rb, line 21
def self.from(diff)
  return diff.collect { |d| from(d) } if diff.is_a?(Array)

  result = {}


  in_diff = nil
  diff_lines = ''
  diff.each_line do |line|
    if line =~ /diff -r ([^\s]+)+ ([^\s]+)+$/
      result[in_diff] = diff_lines if in_diff
      in_diff = $1.gsub(/a\//, '')
      diff_lines    = ''
    elsif line =~ /Only in.*$/

    else
      diff_lines += line
    end
  end
  result[in_diff] = diff_lines if in_diff

  result.collect { |t, c| new :title => t, :content => c }
end
new(args = {}) click to toggle source
# File lib/polisher/rpm/patch.rb, line 12
def initialize(args = {})
  @title   = args[:title]
  @content = args[:content]
end

Public Instance Methods

spec_line(n = 0) click to toggle source
# File lib/polisher/rpm/patch.rb, line 17
def spec_line(n = 0)
  "Patch#{n}: #{title}"
end