cornell_ldap 1.4.0 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore CHANGED
@@ -1,21 +1,4 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in cornell_ldap.gemspec
4
+ gemspec
data/Rakefile CHANGED
@@ -1,47 +1,2 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "cornell_ldap"
8
- gem.summary = %Q{Toolkit for accessing information about people through the Cornell University LDAP directory.}
9
- gem.description = %Q{Using ActiveLdap, this library provides an easy interface for communicating with the Cornell University LDAP directory. Use of this directory is restricted to purposes authorized by the university.}
10
- gem.email = "aepstein607@gmail.com"
11
- gem.homepage = "http://github.com/aepstein/cornell_ldap"
12
- gem.authors = ["Ari Epstein"]
13
- gem.add_development_dependency "rspec", ">= 1.2.9"
14
- gem.add_dependency "net-ldap", '>= 0.1.1'
15
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
- end
17
- Jeweler::GemcutterTasks.new
18
- rescue LoadError
19
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
20
- end
21
-
22
- require 'spec/rake/spectask'
23
- Spec::Rake::SpecTask.new(:spec) do |spec|
24
- spec.libs << 'lib' << 'spec'
25
- spec.spec_files = FileList['spec/**/*_spec.rb']
26
- end
27
-
28
- Spec::Rake::SpecTask.new(:rcov) do |spec|
29
- spec.libs << 'lib' << 'spec'
30
- spec.pattern = 'spec/**/*_spec.rb'
31
- spec.rcov = true
32
- end
33
-
34
- task :spec => :check_dependencies
35
-
36
- task :default => :spec
37
-
38
- require 'rake/rdoctask'
39
- Rake::RDocTask.new do |rdoc|
40
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
41
-
42
- rdoc.rdoc_dir = 'rdoc'
43
- rdoc.title = "cornell_ldap #{version}"
44
- rdoc.rdoc_files.include('README*')
45
- rdoc.rdoc_files.include('lib/**/*.rb')
46
- end
1
+ require "bundler/gem_tasks"
47
2
 
data/cornell_ldap.gemspec CHANGED
@@ -1,58 +1,30 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "cornell_ldap/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{cornell_ldap}
8
- s.version = "1.4.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Ari Epstein"]
12
- s.date = %q{2010-09-09}
6
+ s.name = "cornell_ldap"
7
+ s.version = CornellLdap::VERSION
8
+ s.authors = ["Ari Epstein"]
9
+ s.email = ["aepstein607@gmail.com"]
10
+ s.homepage = "http://github.com/aepstein/cornell_ldap"
11
+ s.summary = %q{Lightweight LDAP abstraction library to work Cornell's particular structure}
13
12
  s.description = %q{Using ActiveLdap, this library provides an easy interface for communicating with the Cornell University LDAP directory. Use of this directory is restricted to purposes authorized by the university.}
14
- s.email = %q{aepstein607@gmail.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "cornell_ldap.gemspec",
27
- "lib/cornell_ldap.rb",
28
- "spec/cornell_ldap_spec.rb",
29
- "spec/spec.opts",
30
- "spec/spec_helper.rb"
31
- ]
32
- s.homepage = %q{http://github.com/aepstein/cornell_ldap}
33
- s.rdoc_options = ["--charset=UTF-8"]
13
+
14
+ s.rubyforge_project = "cornell_ldap"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
34
19
  s.require_paths = ["lib"]
35
20
  s.rubygems_version = %q{1.3.7}
36
- s.summary = %q{Toolkit for accessing information about people through the Cornell University LDAP directory.}
37
21
  s.test_files = [
38
22
  "spec/cornell_ldap_spec.rb",
39
23
  "spec/spec_helper.rb"
40
24
  ]
41
25
 
42
- if s.respond_to? :specification_version then
43
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
44
- s.specification_version = 3
26
+ s.add_development_dependency 'rspec'
27
+ s.add_dependency 'net-ldap'
45
28
 
46
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
48
- s.add_runtime_dependency(%q<net-ldap>, [">= 0.1.1"])
49
- else
50
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
51
- s.add_dependency(%q<net-ldap>, [">= 0.1.1"])
52
- end
53
- else
54
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
55
- s.add_dependency(%q<net-ldap>, [">= 0.1.1"])
56
- end
57
29
  end
58
30
 
@@ -0,0 +1,166 @@
1
+ require 'rubygems' unless defined? Gem
2
+ require 'net/ldap' unless defined? Net::LDAP
3
+
4
+ module CornellLdap
5
+ class Record < Object
6
+
7
+ MAPPINGS = {
8
+ :cornelledutype => :status,
9
+ :cornelleduwrkngtitle1 => :status_title1,
10
+ :cornelleduwrkngtitle2 => :status_title2,
11
+ :cornelleduacadcollege => :college,
12
+ :cornelleducampusaddress => :campus_address,
13
+ :cornelledulocaladdress => :local_address,
14
+ :homepostaladdress => :home_address,
15
+ :givenname => :first_name,
16
+ :cornelledumiddlename => :middle_name,
17
+ :sn => :last_name,
18
+ :cornelleducampusphone => :campus_phone,
19
+ :homephone => :home_phone,
20
+ :cornelledulocalphone => :local_phone
21
+ }
22
+
23
+ CONNECTION_PARAMETERS = [ :port, :host, :auth ]
24
+
25
+ def self.setup_connection( params )
26
+ @@connection_params = params.inject({}) do |memo, (k, v)|
27
+ memo[k.to_sym] = v
28
+ memo
29
+ end
30
+ @@connection = Net::LDAP.new(
31
+ @@connection_params.inject({}) do |memo, (k, v)|
32
+ memo[k] = v if CONNECTION_PARAMETERS.include? k
33
+ memo
34
+ end
35
+ )
36
+ end
37
+
38
+ def self.connection
39
+ @@connection
40
+ end
41
+
42
+ def self.find( subject )
43
+ r = connection.search(
44
+ :base => 'ou=People,' + @@connection_params[:base], :size => 1,
45
+ :filter => Net::LDAP::Filter.eq( 'uid', subject ),
46
+ :scope => Net::LDAP::SearchScope_SingleLevel
47
+ )
48
+ return CornellLdap::Record.new( r.first ) if r && r.length > 0
49
+ nil
50
+ end
51
+
52
+ # Takes an address string and converts it to a hash representation:
53
+ #
54
+ # [street] Street address
55
+ # [city] City
56
+ # [state] State
57
+ # [zip] Zip code
58
+ def self.address_attributes(string_address)
59
+ return if string_address.nil?
60
+ array_address = string_address.split(',').map! { |x| x.strip }
61
+ state = false
62
+ array_address.each_index { |i| state = i if array_address[i] =~ /^[A-Za-z]{2,2}$/ }
63
+ return unless state && state > 1
64
+ attributes = { :street => array_address[0..(state-2)].join(', '),
65
+ :city => array_address[state - 1],
66
+ :state => array_address[state] }
67
+ attributes[:zip] = array_address[state + 1] unless array_address[state + 1].nil?
68
+ attributes
69
+ end
70
+
71
+ def self.sanitize_phone(string_phone)
72
+ return if string_phone.nil?
73
+ string_phone.gsub /[^0-9]/, ''
74
+ end
75
+
76
+ attr_accessor :attributes
77
+
78
+ def initialize( record )
79
+ self.attributes = Hash.new
80
+ MAPPINGS.each do |ldap, local|
81
+ self.attributes[local] = record[ldap].first unless record[ldap].nil? || record[ldap].empty?
82
+ end
83
+ end
84
+
85
+ # Returns a string representation of the person's status with the university
86
+ # of one of the following types:
87
+ #
88
+ # [staff] non-faculty employee
89
+ # [faculty] tenured or tenure-track faculty
90
+ # [undergrad] undergraduate student
91
+ # [grad] graduate or professional student
92
+ # [alumni] alumnus
93
+ # [temporary] temporary or casual employee
94
+ # false status unknown
95
+ def status
96
+ return @status unless @status.nil?
97
+ return unless attributes.key?( :status )
98
+ @status = case attributes[:status]
99
+ when /^staff/ then 'staff'
100
+ when /^acad/ then
101
+ if ( attributes.key?(:status_title1) && attributes[:status_title1] =~ /^Prof/ ) ||
102
+ ( attributes.key?(:status_title2) && attributes[:status_title2] =~ /^Prof/ ) then
103
+ 'faculty'
104
+ else
105
+ 'staff'
106
+ end
107
+ when /^student/ then case attributes[:college]
108
+ when 'AS', 'AR', 'AG', 'IL', 'HE', 'HA', 'EN', 'UN' then 'undergrad'
109
+ else 'grad'
110
+ end
111
+ when /^alumni/ then 'alumni'
112
+ when /^temp/ then 'temporary'
113
+ else false
114
+ end
115
+ end
116
+
117
+ # Returns has representation of on campus address for person if one is
118
+ # reported.
119
+ # See CornellLdap::Record#address_attributes for more information.
120
+ def campus_address
121
+ unless @campus_address.nil?
122
+ return @campus_address
123
+ end
124
+ @campus_address = false unless attributes.key?(:campus_address) &&
125
+ @campus_address = { :street => attributes[:campus_address].strip,
126
+ :on_campus => true }
127
+ return campus_address
128
+ end
129
+
130
+ # Returns local area (Ithaca area) address for person if one is reported
131
+ # See CornellLdap::Record#address_attributes for more information.
132
+ def local_address
133
+ unless @local_address.nil?
134
+ return @local_address
135
+ end
136
+ @local_address = false unless attributes.key?(:local_address) &&
137
+ @local_address = Record.address_attributes(attributes[:local_address])
138
+ return local_address
139
+ end
140
+
141
+ # Returns home address for person if one is reported
142
+ # See CornellLdap::Record#address_attributes for more information.
143
+ def home_address
144
+ unless @home_address.nil?
145
+ return @home_address
146
+ end
147
+ @home_address = false unless attributes.key?(:home_address) &&
148
+ @home_address = Record.address_attributes(attributes[:home_address])
149
+ return home_address
150
+ end
151
+
152
+ # Returns first name of person
153
+ def first_name; attributes[:first_name]; end
154
+
155
+ # Returns middle name of person
156
+ def middle_name; attributes[:middle_name]; end
157
+
158
+ # Returns last name of person
159
+ def last_name; attributes[:last_name]; end
160
+
161
+ def campus_phone; Record.sanitize_phone attributes[:campus_phone]; end
162
+ def local_phone; Record.sanitize_phone attributes[:local_phone]; end
163
+ def home_phone; Record.sanitize_phone attributes[:home_phone]; end
164
+ end
165
+ end
166
+
@@ -0,0 +1,4 @@
1
+ module CornellLdap
2
+ VERSION = "1.4.2"
3
+ end
4
+
data/lib/cornell_ldap.rb CHANGED
@@ -1,154 +1,6 @@
1
- require 'rubygems' unless defined? Gem
2
- require 'net/ldap' unless defined? Net::LDAP
1
+ require "cornell_ldap/version"
3
2
 
4
3
  module CornellLdap
5
- class Record < Object
6
-
7
- MAPPINGS = {
8
- :cornelledutype => :status,
9
- :cornelleduwrkngtitle1 => :status_title1,
10
- :cornelleduwrkngtitle2 => :status_title2,
11
- :cornelleduacadcollege => :college,
12
- :cornelleducampusaddress => :campus_address,
13
- :cornelledulocaladdress => :local_address,
14
- :homepostaladdress => :home_address,
15
- :givenname => :first_name,
16
- :cornelledumiddlename => :middle_name,
17
- :sn => :last_name
18
- }
19
-
20
- CONNECTION_PARAMETERS = [ :port, :host, :auth ]
21
-
22
- def self.setup_connection( params )
23
- @@connection_params = params.inject({}) do |memo, (k, v)|
24
- memo[k.to_sym] = v
25
- memo
26
- end
27
- @@connection = Net::LDAP.new(
28
- @@connection_params.inject({}) do |memo, (k, v)|
29
- memo[k] = v if CONNECTION_PARAMETERS.include? k
30
- memo
31
- end
32
- )
33
- end
34
-
35
- def self.connection
36
- @@connection
37
- end
38
-
39
- def self.find( subject )
40
- r = connection.search(
41
- :base => 'ou=People,' + @@connection_params[:base], :size => 1,
42
- :filter => Net::LDAP::Filter.eq( 'uid', subject ),
43
- :scope => Net::LDAP::SearchScope_SingleLevel
44
- )
45
- return CornellLdap::Record.new( r.first ) if r && r.length > 0
46
- nil
47
- end
48
-
49
- # Takes an address string and converts it to a hash representation:
50
- #
51
- # [street] Street address
52
- # [city] City
53
- # [state] State
54
- # [zip] Zip code
55
- def self.address_attributes(string_address)
56
- return if string_address.nil?
57
- array_address = string_address.split(',').map! { |x| x.strip }
58
- state = false
59
- array_address.each_index { |i| state = i if array_address[i] =~ /^[A-Za-z]{2,2}$/ }
60
- return unless state && state > 1
61
- attributes = { :street => array_address[0..(state-2)].join(', '),
62
- :city => array_address[state - 1],
63
- :state => array_address[state] }
64
- attributes[:zip] = array_address[state + 1] unless array_address[state + 1].nil?
65
- attributes
66
- end
67
-
68
- attr_accessor :attributes
69
-
70
- def initialize( record )
71
- self.attributes = Hash.new
72
- MAPPINGS.each do |ldap, local|
73
- self.attributes[local] = record[ldap].first unless record[ldap].nil? || record[ldap].empty?
74
- end
75
- end
76
-
77
- # Returns a string representation of the person's status with the university
78
- # of one of the following types:
79
- #
80
- # [staff] non-faculty employee
81
- # [faculty] tenured or tenure-track faculty
82
- # [undergrad] undergraduate student
83
- # [grad] graduate or professional student
84
- # [alumni] alumnus
85
- # [temporary] temporary or casual employee
86
- # false status unknown
87
- def status
88
- return @status unless @status.nil?
89
- return unless attributes.key?( :status )
90
- @status = case attributes[:status]
91
- when /^staff/ then 'staff'
92
- when /^acad/ then
93
- if ( attributes.key?(:status_title1) && attributes[:status_title1] =~ /^Prof/ ) ||
94
- ( attributes.key?(:status_title2) && attributes[:status_title2] =~ /^Prof/ ) then
95
- 'faculty'
96
- else
97
- 'staff'
98
- end
99
- when /^student/ then case attributes[:college]
100
- when 'AS', 'AR', 'AG', 'IL', 'HE', 'HA', 'EN', 'UN' then 'undergrad'
101
- else 'grad'
102
- end
103
- when /^alumni/ then 'alumni'
104
- when /^temp/ then 'temporary'
105
- else false
106
- end
107
- end
108
-
109
- # Returns has representation of on campus address for person if one is
110
- # reported.
111
- # See CornellLdap::Record#address_attributes for more information.
112
- def campus_address
113
- unless @campus_address.nil?
114
- return @campus_address
115
- end
116
- @campus_address = false unless attributes.key?(:campus_address) &&
117
- @campus_address = { :street => attributes[:campus_address].strip,
118
- :on_campus => true }
119
- return campus_address
120
- end
121
-
122
- # Returns local area (Ithaca area) address for person if one is reported
123
- # See CornellLdap::Record#address_attributes for more information.
124
- def local_address
125
- unless @local_address.nil?
126
- return @local_address
127
- end
128
- @local_address = false unless attributes.key?(:local_address) &&
129
- @local_address = Record.address_attributes(attributes[:local_address])
130
- return local_address
131
- end
132
-
133
- # Returns home address for person if one is reported
134
- # See CornellLdap::Record#address_attributes for more information.
135
- def home_address
136
- unless @home_address.nil?
137
- return @home_address
138
- end
139
- @home_address = false unless attributes.key?(:home_address) &&
140
- @home_address = Record.address_attributes(attributes[:home_address])
141
- return home_address
142
- end
143
-
144
- # Returns first name of person
145
- def first_name; attributes[:first_name]; end
146
-
147
- # Returns middle name of person
148
- def middle_name; attributes[:middle_name]; end
149
-
150
- # Returns last name of person
151
- def last_name; attributes[:last_name]; end
152
- end
4
+ require 'cornell_ldap/record'
153
5
  end
154
6
 
@@ -1,5 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
1
+ require 'spec_helper'
3
2
  require 'cornell_ldap'
4
3
 
5
4
  CornellLdap::Record.setup_connection :host => 'directory.cornell.edu',
@@ -74,6 +73,13 @@ describe "CornellLdap" do
74
73
  person.campus_address[:street].should eql '-100 Day Hall'
75
74
  end
76
75
 
76
+ it "should strip non-numeric values from phone numbers" do
77
+ person = mock_person
78
+ person.campus_phone.should eql '6075551212'
79
+ person.local_phone.should eql '6075551212'
80
+ person.home_phone.should eql '6075551212'
81
+ end
82
+
77
83
  def mock_person(values = {})
78
84
  CornellLdap::Record.new( {
79
85
  :cornelledutype => ['staff'],
@@ -83,7 +89,10 @@ describe "CornellLdap" do
83
89
  :homepostaladdress => ['1 Broadway, New York, NY, 00000'],
84
90
  :givenname => ['John'],
85
91
  :cornelledumiddlename => ['A'],
86
- :sn => ['Doe']
92
+ :sn => ['Doe'],
93
+ :cornelleducampusphone => ['607+555-1212'],
94
+ :homephone => ['607-555*1212'],
95
+ :cornelledulocalphone => ['607-555 1212']
87
96
  }.merge(values) )
88
97
  end
89
98
  end
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,6 @@
1
- $LOAD_PATH.unshift(File.dirname(__FILE__))
2
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
- require 'cornell_ldap'
4
- require 'spec'
5
- require 'spec/autorun'
6
-
7
- Spec::Runner.configure do |config|
8
-
1
+ RSpec.configure do |config|
2
+ config.treat_symbols_as_metadata_keys_with_true_values = true
3
+ config.run_all_when_everything_filtered = true
4
+ config.filter_run :focus
9
5
  end
6
+
metadata CHANGED
@@ -1,110 +1,90 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: cornell_ldap
3
- version: !ruby/object:Gem::Version
4
- hash: 7
5
- prerelease: false
6
- segments:
7
- - 1
8
- - 4
9
- - 0
10
- version: 1.4.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.4.2
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Ari Epstein
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2010-09-09 00:00:00 -04:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-07-12 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: rspec
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &9072920 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 13
30
- segments:
31
- - 1
32
- - 2
33
- - 9
34
- version: 1.2.9
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
35
22
  type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: net-ldap
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *9072920
25
+ - !ruby/object:Gem::Dependency
26
+ name: net-ldap
27
+ requirement: &9072040 !ruby/object:Gem::Requirement
41
28
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 25
46
- segments:
47
- - 0
48
- - 1
49
- - 1
50
- version: 0.1.1
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
51
33
  type: :runtime
52
- version_requirements: *id002
53
- description: Using ActiveLdap, this library provides an easy interface for communicating with the Cornell University LDAP directory. Use of this directory is restricted to purposes authorized by the university.
54
- email: aepstein607@gmail.com
34
+ prerelease: false
35
+ version_requirements: *9072040
36
+ description: Using ActiveLdap, this library provides an easy interface for communicating
37
+ with the Cornell University LDAP directory. Use of this directory is restricted
38
+ to purposes authorized by the university.
39
+ email:
40
+ - aepstein607@gmail.com
55
41
  executables: []
56
-
57
42
  extensions: []
58
-
59
- extra_rdoc_files:
60
- - LICENSE
61
- - README.rdoc
62
- files:
63
- - .document
43
+ extra_rdoc_files: []
44
+ files:
64
45
  - .gitignore
46
+ - .rspec
47
+ - Gemfile
65
48
  - LICENSE
66
49
  - README.rdoc
67
50
  - Rakefile
68
- - VERSION
69
51
  - cornell_ldap.gemspec
70
52
  - lib/cornell_ldap.rb
53
+ - lib/cornell_ldap/record.rb
54
+ - lib/cornell_ldap/version.rb
71
55
  - spec/cornell_ldap_spec.rb
72
56
  - spec/spec.opts
73
57
  - spec/spec_helper.rb
74
- has_rdoc: true
75
58
  homepage: http://github.com/aepstein/cornell_ldap
76
59
  licenses: []
77
-
78
60
  post_install_message:
79
- rdoc_options:
80
- - --charset=UTF-8
81
- require_paths:
61
+ rdoc_options: []
62
+ require_paths:
82
63
  - lib
83
- required_ruby_version: !ruby/object:Gem::Requirement
64
+ required_ruby_version: !ruby/object:Gem::Requirement
84
65
  none: false
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- hash: 3
89
- segments:
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ segments:
90
71
  - 0
91
- version: "0"
92
- required_rubygems_version: !ruby/object:Gem::Requirement
72
+ hash: 4054269777481147648
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
74
  none: false
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- hash: 3
98
- segments:
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ segments:
99
80
  - 0
100
- version: "0"
81
+ hash: 4054269777481147648
101
82
  requirements: []
102
-
103
- rubyforge_project:
104
- rubygems_version: 1.3.7
83
+ rubyforge_project: cornell_ldap
84
+ rubygems_version: 1.8.15
105
85
  signing_key:
106
86
  specification_version: 3
107
- summary: Toolkit for accessing information about people through the Cornell University LDAP directory.
108
- test_files:
87
+ summary: Lightweight LDAP abstraction library to work Cornell's particular structure
88
+ test_files:
109
89
  - spec/cornell_ldap_spec.rb
110
90
  - spec/spec_helper.rb
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.4.0