Sha256: c95463260c2a0069d608bc06c8a2a705884dc6f55477a05af93937ea76c7c6f4

Contents?: true

Size: 711 Bytes

Versions: 8

Compression:

Stored size: 711 Bytes

Contents

# Back sections:
# * Discussion Items
# * Review Outstanding Action Items
# * Unfinished Business
# * New Business
# * Announcements
# * Adjournment

class ASF::Board::Agenda
  parse do
    pattern = /
      ^(?<attach>(?:\s[89]|\s9|1\d)\.)
      \s(?<title>.*?)\n
      (?<text>.*?)
      (?=\n[\s1]\d\.|\n===)
    /mx

    scan @file, pattern do |attrs|
      attrs['attach'].strip!
      attrs['title'].sub! /^Review Outstanding /, ''

      if attrs['title'] =~ /Discussion|Action|Business|Announcements/
        attrs['prior_reports'] = minutes(attrs['title'])
      elsif attrs['title'] == 'Adjournment'
        attrs['timestamp'] = timestamp(attrs['text'][/\d+:\d+([ap]m)?/])
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
whimsy-asf-0.0.8 lib/whimsy/asf/agenda/back.rb
whimsy-asf-0.0.7 lib/whimsy/asf/agenda/back.rb
whimsy-asf-0.0.6 lib/whimsy/asf/agenda/back.rb
whimsy-asf-0.0.5 lib/whimsy/asf/agenda/back.rb
whimsy-asf-0.0.4 lib/whimsy/asf/agenda/back.rb
whimsy-asf-0.0.3 lib/whimsy/asf/agenda/back.rb
whimsy-asf-0.0.2 lib/whimsy/asf/agenda/back.rb
whimsy-asf-0.0.1 lib/whimsy/asf/agenda/back.rb