• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / bibdata / b3c4a532-5da0-46f8-9c20-20018605a028

21 Mar 2025 08:11PM UTC coverage: 42.257% (-49.9%) from 92.185%
b3c4a532-5da0-46f8-9c20-20018605a028

push

circleci

sandbergja
Move various gems from the default Gemfile group to a more appropriate group

1599 of 3784 relevant lines covered (42.26%)

2.56 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

53.85
/app/models/ldap.rb
1
require 'net/ldap'
1✔
2

3
class Ldap
1✔
4
  class << self
1✔
5
    def find_by_netid(net_id, ldap_connection: default_connection)
1✔
6
      filter = Net::LDAP::Filter.eq('uid', net_id)
×
7
      result = ldap_connection.search(filter:).first
×
8
      return {} if result.blank?
×
9

10
      attributes(result)
×
11
    end
12

13
    private
1✔
14

15
      def attributes(result)
1✔
16
        {
17
          netid: result[:uid]&.first,
×
18
          department: result[:purescollege]&.first || result[:ou]&.first,
19
          address: result[:puinterofficeaddress]&.first,
20
          telephone: result[:telephonenumber]&.first,
21
          givenname: result[:givenname]&.first,
22
          surname: result[:sn]&.first,
23
          email: result[:mail]&.first,
24
          status: result[:edupersonprimaryaffiliation]&.first,
25
          pustatus: result[:pustatus]&.first,
26
          universityid: result[:universityid]&.first,
27
          title: result[:title]&.first
28
        }
29
      end
30

31
      def default_connection
1✔
32
        @default_connection ||= Net::LDAP.new host: 'ldap.princeton.edu', base: 'o=Princeton University,c=US', port: 636,
×
33
                                              encryption: {
34
                                                method: :simple_tls,
35
                                                tls_options: OpenSSL::SSL::SSLContext::DEFAULT_PARAMS
36
                                              }
37
      end
38
  end
39
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc