Sha256: df77372a8e2c13b0dd011a3b52c90f84cb8fd387ab97ba768a842b95d105d8c9

Contents?: true

Size: 907 Bytes

Versions: 77

Compression:

Stored size: 907 Bytes

Contents

# Executive Officer Reports

class ASF::Board::Agenda
  parse do
    reports = @file.split(/^ 4. Executive Officer Reports/,2).last.
      split(/^ 5. Additional Officer Reports/,2).first

    pattern = /
      \s{4}(?<section>[A-Z])\.
      \s(?<title>[^\[]+?)
      \s\[(?<owner>[^\]]+?)\]
      (?<report>.*?)
      (?=\n\s{4}[A-Z]\.\s|\z)
    /mx

    scan reports, pattern do |attrs|
      attrs['section'] = '4' + attrs['section'] 
      attrs['shepherd'] = attrs['owner'].split('/').last
      attrs['owner'] = attrs['owner'].split('/').first

      attrs['report'].sub! /\A\s*\n/, ''

      attrs['report'].gsub! /\n\s*\n\s+\[ comments:(.*)\]\s*$/m do
        attrs['comments'] = $1.sub(/\A\s*\n/, '').sub(/\s+\Z/, '')
        "\n"
      end

      report = attrs['report'].strip
      if report.empty? or report[0..12] == 'Additionally,'
        attrs['missing'] = true
      end
    end
  end
end

Version data entries

77 entries across 77 versions & 1 rubygems

Version Path
whimsy-asf-0.0.77 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.76 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.75 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.74 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.73 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.72 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.71 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.70 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.69 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.68 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.67 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.66 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.65 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.64 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.63 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.62 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.61 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.60 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.59 lib/whimsy/asf/agenda/exec-officer.rb
whimsy-asf-0.0.58 lib/whimsy/asf/agenda/exec-officer.rb