aboutsummaryrefslogtreecommitdiff
path: root/lib/mauve/people_list.rb
diff options
context:
space:
mode:
authorPatrick J Cherry <patrick@bytemark.co.uk>2012-04-25 17:15:49 +0100
committerPatrick J Cherry <patrick@bytemark.co.uk>2012-04-25 17:15:49 +0100
commite959c0fe4c887154bbe28c31324fef2975cbe467 (patch)
tree3088c7a1f389944d613e57b551b452f7ec83181d /lib/mauve/people_list.rb
parent5fff12fc11cb8b02a44fd40ed78fa9d196f269d7 (diff)
Big update.
* Max acknowledgement time is now specified in the config * Calendar interface improved. * holiday_url no longer used -- replaced by notify_when_on_holiday! * added notify_when_off_sick! * Added ability for the calendar to be queried for a list of bank holdays. * Added ability for Time to be given a list of bank holidays to check against. * PeopleLists can now be a Proc, allowing downloading of lists * Person is no longer a struct * Moved the method_missing bit into ObjectBuilder from various sub classes. * Added tests for the calendar interface * Updated tests in other bits.
Diffstat (limited to 'lib/mauve/people_list.rb')
-rw-r--r--lib/mauve/people_list.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/mauve/people_list.rb b/lib/mauve/people_list.rb
index eab4ae3..0433034 100644
--- a/lib/mauve/people_list.rb
+++ b/lib/mauve/people_list.rb
@@ -35,6 +35,8 @@ module Mauve
arr = arr.flatten
when String
arr = [arr]
+ when Proc
+ arr = [arr]
else
logger.warn "Not sure what to do with #{arr.inspect} -- converting to string, and continuing"
arr = [arr.to_s]
@@ -62,10 +64,12 @@ module Mauve
#
# @return [Array]
def people
-
l = list.collect do |name|
- Configuration.current.people.has_key?(name) ? Configuration.current.people[name] : nil
- end.reject{|person| person.nil?}
+ name.is_a?(Proc) ? name.call : name
+ end.flatten.compact.uniq.collect do |name|
+ Configuration.current.people[name]
+ end.compact
+
#
# Hmm.. no-one in the list?!
#