45: def pretty
46: lines = [@name.bright]
47: field_names.each do |key|
48: next unless self.respond_to?(key)
49: next if [:addresses, :groups].member?(key)
50: val = self.send(key)
51: lines << sprintf(" %12s: %s", key, (val.is_a?(Array) ? val.join(', ') : val))
52: end
53: @addresses.each_pair do |a,r|
54: rules = r.collect { |r| r.to_s }.join(', ') if r
55: lines << sprintf(" %12s: %s (%s)", 'address', a.to_s, rules)
56: end
57: @groups.each_pair do |g,r|
58: rules = r.collect { |r| r.to_s }.join(', ')
59: lines << sprintf(" %12s: %s (%s)", 'group', g.to_s, rules)
60: end
61: lines.join($/)
62: end