whimsy-asf 0.0.38 → 0.0.39

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1ac081e9fe5b3016df52282994b8f68da8518890
4
- data.tar.gz: d6481a28efbc25377e27205d9a85d54235f670a0
3
+ metadata.gz: 06f190516ef3e40fb310ac22b34133f32a255791
4
+ data.tar.gz: e303401bbe7cfd71f52744f1161cae76221f024b
5
5
  SHA512:
6
- metadata.gz: 1508584a25f70789f35b9e19048b76290d7814e20182f5057cdfaeaf06be208a69287a4783ee32f2a67b74ea496795979bc6b84ef00996af36adf27e8edf38f4
7
- data.tar.gz: 38f18f90879e409b741132b8dd731d7de0dc842709f184efcb6165fa38248522bb2731c846d81f6ebfb0a66a89816b3976414124913aab7466ae0691325f3804
6
+ metadata.gz: 6f435cd9d666aa86621ba3793df81aca4c723ad7b0f9435f5df75063feeb0ffdaec56e4c14f9d6eaaef446184bae49eafd9a5a1a17dfb8595247efb8d79a8ee2
7
+ data.tar.gz: c43f9a6d3c93ae455925478e5f26174c29ddc19fbb981493058185f9df79fe3138a1a65849281a8caf402c4088a3334e40a4feb495924e29eee9468fc34f38f8
data/asf.version CHANGED
@@ -1 +1 @@
1
- 0.0.38
1
+ 0.0.39
@@ -54,39 +54,49 @@ class ASF::Board::Agenda
54
54
  (?:\.\.\.|apache\.org|apache\sdot\sorg)>\s*$/x)
55
55
 
56
56
  whimsy = 'https://whimsy.apache.org'
57
- if people.empty?
58
- if title =~ /Change (.*?) Chair/ or title =~ /Terminate (\w+)$/
59
- committee = ASF::Committee.find($1)
60
- attrs['roster'] =
61
- "#{whimsy}/roster/committee/#{CGI.escape committee.name}"
62
- attrs['stats'] =
63
- "https://reporter.apache.org/?#{CGI.escape committee.name}"
64
- attrs['prior_reports'] = minutes(committee.display_name)
65
- name1 = text[/heretofore\sappointed\s(\w.*)\sto/,1]
66
- sname1 = name1.to_s.downcase.gsub('.', ' ').split(/\s+/)
67
- name2 = text[/recommend\s(\w.*)\sas/,1]
68
- sname2 = name2.to_s.downcase.gsub('.', ' ').split(/\s+/)
69
- next unless committee.names
70
- committee.names.each do |id, name|
71
- name.sub!(/ .* /,' ') unless text.include? name
72
- pname = name.downcase.split(/\s+/)
73
- if text.include? name
74
- people << [name, id]
75
- elsif name1 && sname1.all? {|t1| pname.any? {|t2| t2.start_with? t1}}
76
- people << [name1, id]
77
- elsif name1 && pname.all? {|t1| sname1.any? {|t2| t2.start_with? t1}}
78
- people << [name1, id]
79
- elsif name2 && sname2.all? {|t1| pname.any? {|t2| t2.start_with? t1}}
80
- people << [name2, id]
81
- elsif name2 && pname.all? {|t1| sname2.any? {|t2| t2.start_with? t1}}
82
- people << [name2, id]
83
- end
57
+ if title =~ /Change (.*?) Chair/ or title =~ /Terminate (\w+)$/
58
+ people.clear
59
+ committee = ASF::Committee.find($1)
60
+ attrs['roster'] =
61
+ "#{whimsy}/roster/committee/#{CGI.escape committee.name}"
62
+ attrs['stats'] =
63
+ "https://reporter.apache.org/?#{CGI.escape committee.name}"
64
+ attrs['prior_reports'] = minutes(committee.display_name)
65
+
66
+ ids = text.scan(/\((\w[-.\w]+)\)/).flatten
67
+ unless ids.empty?
68
+ ids.each do |id|
69
+ person = ASF::Person.find(id)
70
+ people << [person.public_name, id] if person.icla
84
71
  end
72
+ end
85
73
 
86
- if people.length < 2
87
- attrs['warnings'] ||= ['Unable to match expected number of names']
74
+ name1 = text[/heretofore\sappointed\s(\w.*?)\s(\(|to)/,1]
75
+ sname1 = name1.to_s.downcase.gsub('.', ' ').split(/\s+/)
76
+ name2 = text[/recommend\s(\w.*?)\s(\(|as)/,1]
77
+ sname2 = name2.to_s.downcase.gsub('.', ' ').split(/\s+/)
78
+
79
+ next unless committee.names
80
+ committee.names.each do |id, name|
81
+ name.sub!(/ .* /,' ') unless text.include? name
82
+ pname = name.downcase.split(/\s+/)
83
+ if text.include? name
84
+ people << [name, id]
85
+ elsif name1 && sname1.all? {|t1| pname.any? {|t2| t2.start_with? t1}}
86
+ people << [name1, id]
87
+ elsif name1 && pname.all? {|t1| sname1.any? {|t2| t2.start_with? t1}}
88
+ people << [name1, id]
89
+ elsif name2 && sname2.all? {|t1| pname.any? {|t2| t2.start_with? t1}}
90
+ people << [name2, id]
91
+ elsif name2 && pname.all? {|t1| sname2.any? {|t2| t2.start_with? t1}}
92
+ people << [name2, id]
88
93
  end
89
94
  end
95
+
96
+ if people.length < 2
97
+ attrs['warnings'] ||= ['Unable to match expected number of names']
98
+ attrs['names'] = committee.names
99
+ end
90
100
  else
91
101
  if title =~ /Establish (.*)/
92
102
  name = $1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whimsy-asf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.38
4
+ version: 0.0.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Ruby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-17 00:00:00.000000000 Z
11
+ date: 2015-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri