uaeds 0.0.4 → 0.0.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 907aacaa9c34bac89def7ce8bed17e01de91c23b
4
- data.tar.gz: 984fe8b2eb8d1d5961cde7edc9b934eb460309a0
3
+ metadata.gz: 6616042bdc25aa41055fcc9f92253f193d2beb10
4
+ data.tar.gz: 9d6268ea817ccff5928f41459a1a42d56d327e7c
5
5
  SHA512:
6
- metadata.gz: 95457717f6e416447c9a8ca814eb7dbb8a1982ed000eedb69f040906c8240746c3392b2bd5bc12ad353cca67cdac82c54f48a0eb859a6eafbecd3a5d6ef0cff1
7
- data.tar.gz: 64bc13bf634d303ebed6126d84b90fd989131f7df28a4baf02561df4f9eb4611a5442fecadb37fba3ea1140bb6d011989dd8c883c595de91675a794f8f280162
6
+ metadata.gz: 1e7508dd89b8bb74c0c8e5b7ee7f9ee1418c0c1478859774f696aa693cc3b3051f5571f905df4fa4ff198c9f3142da84367488575a36993ed4b651d94f0f4669
7
+ data.tar.gz: b29eec6d55799f35415314c689191cc4f5fae28a5bcd862a71bb3efbc8bbf415143d06a01cbcdf51047435effe91faa8317ed9839a50a5a3a911f144573e488b
data/lib/uaeds/dsml.rb CHANGED
@@ -1,5 +1,3 @@
1
- require "uaeds/version"
2
-
3
1
  module Uaeds
4
2
  class DSML
5
3
  def initialize(xml=nil)
@@ -7,7 +5,7 @@ module Uaeds
7
5
  @xml = xml
8
6
  @value_h = {}
9
7
  end
10
-
8
+
11
9
  def get_value(prop_name)
12
10
  data = get_xml_attr(prop_name)
13
11
  if data.is_a? String
@@ -22,7 +20,7 @@ module Uaeds
22
20
  return values
23
21
  end
24
22
  end
25
-
23
+
26
24
  def get_values(prop_name)
27
25
  data = get_xml_attr(prop_name)
28
26
  if data.length == 0
@@ -33,7 +31,7 @@ module Uaeds
33
31
  return values
34
32
  end
35
33
  end
36
-
34
+
37
35
  def lookup_value(kv)
38
36
  if(@value_h.key? kv)
39
37
  return @value_h[kv]
@@ -47,11 +45,11 @@ module Uaeds
47
45
  @value_h[kv]
48
46
  end
49
47
  end
50
-
48
+
51
49
  private
52
-
50
+
53
51
  def get_xml_attr(prop_name)
54
52
  @xml.xpath("//dsml:attr[@name='#{prop_name}']/dsml:value")
55
53
  end
56
54
  end
57
- end
55
+ end
@@ -1,8 +1,3 @@
1
- require 'date'
2
- require 'uaeds/dsml'
3
-
4
- # Todo: use aliases...
5
-
6
1
  module Uaeds
7
2
  class DSMLPerson < DSML
8
3
  def date_of_birth
@@ -19,39 +14,39 @@ module Uaeds
19
14
  @value_h[:dateOfBirth]
20
15
  end
21
16
  end
22
-
17
+
23
18
  def dob
24
19
  date_of_birth
25
20
  end
26
-
21
+
27
22
  def netid
28
23
  uid
29
24
  end
30
-
25
+
31
26
  def uid
32
27
  lookup_value(:uid)
33
28
  end
34
-
29
+
35
30
  def uaid
36
31
  lookup_value(:uaId)
37
32
  end
38
-
33
+
39
34
  def cat_card
40
35
  iso_number
41
36
  end
42
-
37
+
43
38
  def iso_number
44
39
  lookup_value(:isoNumber)
45
40
  end
46
-
41
+
47
42
  def employee_id
48
43
  emplid
49
44
  end
50
-
45
+
51
46
  def emplid
52
47
  lookup_value(:emplId)
53
48
  end
54
-
49
+
55
50
  def surname
56
51
  lookup_value(:sn)
57
52
  end
@@ -67,55 +62,55 @@ module Uaeds
67
62
  def name
68
63
  cn
69
64
  end
70
-
65
+
71
66
  def full_name
72
67
  cn
73
68
  end
74
-
69
+
75
70
  def cn
76
71
  lookup_value(:cn)
77
72
  end
78
-
73
+
79
74
  def email
80
75
  mail
81
76
  end
82
-
77
+
83
78
  def mail
84
79
  lookup_value(:mail)
85
80
  end
86
-
81
+
87
82
  def person_type
88
83
  edu_person_primary_affiliation
89
84
  end
90
-
85
+
91
86
  def edu_person_primary_affiliation
92
87
  lookup_value(:eduPersonPrimaryAffiliation)
93
88
  end
94
-
89
+
95
90
  def title
96
91
  employee_title
97
92
  end
98
-
93
+
99
94
  def employee_title
100
95
  lookup_value(:employeeTitle)
101
96
  end
102
-
97
+
103
98
  def department
104
99
  employee_primary_dept
105
100
  end
106
-
101
+
107
102
  def employee_primary_dept
108
103
  lookup_value(:employeePrimaryDept)
109
104
  end
110
-
105
+
111
106
  def department_name
112
107
  employee_primary_dept_name
113
108
  end
114
-
109
+
115
110
  def employee_primary_dept_name
116
111
  lookup_value(:employeePrimaryDeptName)
117
112
  end
118
-
113
+
119
114
  end
120
-
115
+
121
116
  end
data/lib/uaeds/eds.rb CHANGED
@@ -1,10 +1,8 @@
1
-
2
-
3
1
  module Uaeds
4
2
  class Eds
5
3
  @@eds_user = nil
6
4
  @@eds_key = nil
7
-
5
+
8
6
  def initialize(url=nil, user=nil, password=nil)
9
7
  if(url == nil)
10
8
  raise ArgumentError, "EDS URL required." unless (self.class.eds_endpoint && self.class.eds_endpoint.strip != "")
@@ -22,44 +20,44 @@ module Uaeds
22
20
  @url = url
23
21
  end
24
22
  end
25
-
26
-
23
+
24
+
27
25
  def person_by_uaid(uaid)
28
26
  return open_person(uaid)
29
27
  end
30
-
28
+
31
29
  def person_by_netid(netid)
32
30
  return open_person(netid)
33
31
  end
34
-
32
+
35
33
  def person_by_emplid(emplid)
36
34
  return open_person(emplid)
37
35
  end
38
-
36
+
39
37
  def person(identifier)
40
38
  return open_person(identifier)
41
39
  end
42
-
40
+
43
41
  def self.eds_user=(user=nil)
44
42
  @@eds_user = user
45
43
  end
46
-
44
+
47
45
  def self.eds_key=(key=nil)
48
46
  @@eds_key = key
49
47
  end
50
-
48
+
51
49
  def self.eds_user
52
50
  @@eds_user
53
51
  end
54
-
52
+
55
53
  def self.eds_key
56
54
  @@eds_key
57
55
  end
58
-
56
+
59
57
  private
60
-
58
+
61
59
  def open_persion(idenfifier)
62
-
60
+
63
61
  end
64
62
  end
65
- end
63
+ end
@@ -1,26 +1,19 @@
1
- require 'uaeds/version'
2
- require 'open-uri'
3
- require 'nokogiri'
4
- require 'uaeds/eds'
5
- require 'uaeds/dsml_person'
6
- require 'singleton'
7
-
8
1
  module Uaeds
9
2
  class EdsDSML < Eds
10
3
  include Singleton
11
-
4
+
12
5
  @@eds_dsml_endpoint = nil
13
-
6
+
14
7
  def self.eds_endpoint=(endpoint=nil)
15
8
  @@eds_dsml_endpoint = endpoint
16
9
  end
17
-
10
+
18
11
  def self.eds_endpoint
19
12
  @@eds_dsml_endpoint
20
13
  end
21
-
14
+
22
15
  private
23
-
16
+
24
17
  def open_person(identifier)
25
18
  # This might be improved with some more handling here and in DSML init.
26
19
  if(@user && @password)
@@ -1,42 +1,35 @@
1
- require 'uaeds/version'
2
- require 'open-uri'
3
- require 'json'
4
- require 'uaeds/eds'
5
- require 'uaeds/json_person'
6
- require 'singleton'
7
-
8
1
  module Uaeds
9
2
  class EdsJSON < Eds
10
3
  include Singleton
11
-
4
+
12
5
  @@eds_json_endpoint = nil
13
-
6
+
14
7
  def person_by_uaid(uaid)
15
8
  return open_person('uaId', uaid)
16
9
  end
17
-
10
+
18
11
  def person_by_netid(netid)
19
12
  return open_person('uid', netid)
20
13
  end
21
-
14
+
22
15
  def person_by_emplid(emplid)
23
16
  return open_person('emplid', emplid)
24
17
  end
25
-
18
+
26
19
  def person(identifier)
27
20
  return open_person(nil, identifier)
28
21
  end
29
-
22
+
30
23
  def self.eds_endpoint=(endpoint=nil)
31
24
  @@eds_json_endpoint = endpoint
32
25
  end
33
-
26
+
34
27
  def self.eds_endpoint
35
28
  @@eds_json_endpoint
36
29
  end
37
-
30
+
38
31
  private
39
-
32
+
40
33
  def open_person(attribute=nil, value)
41
34
  raise ArgumentError, "value required." unless (value && value.strip != "")
42
35
  if(attribute)
@@ -53,12 +46,12 @@ module Uaeds
53
46
  end
54
47
  end
55
48
  end
56
-
49
+
57
50
  def handle_stream(stream)
58
51
  string = stream.read()
59
52
  stream.close()
60
53
  JSON.parse(string)
61
54
  end
62
-
55
+
63
56
  end
64
57
  end
@@ -1,101 +1,98 @@
1
- require 'date'
2
- require 'uaeds/dsml'
3
-
4
1
  module Uaeds
5
2
  class JSONPerson < DSML
6
3
  def initialize(hash=nil)
7
4
  raise ArgumentError, 'Argument is not a hash' unless (hash && hash.is_a?(Hash))
8
5
  @value_h = hash
9
6
  end
10
-
7
+
11
8
  def date_of_birth
12
9
  lookup_value(:dateOfBirth)
13
10
  end
14
-
11
+
15
12
  def dob
16
13
  date_of_birth
17
14
  end
18
-
15
+
19
16
  def netid
20
17
  uid
21
18
  end
22
-
19
+
23
20
  def uid
24
21
  lookup_value(:uid)
25
22
  end
26
-
23
+
27
24
  def uaid
28
25
  lookup_value(:uaId)
29
26
  end
30
-
27
+
31
28
  def cat_card
32
29
  iso_number
33
30
  end
34
-
31
+
35
32
  def iso_number
36
33
  lookup_value(:isoNumber)
37
34
  end
38
-
35
+
39
36
  def employee_id
40
37
  emplid
41
38
  end
42
-
39
+
43
40
  def emplid
44
41
  lookup_value(:emplId)
45
42
  end
46
-
43
+
47
44
  def name
48
45
  cn
49
46
  end
50
-
47
+
51
48
  def full_name
52
49
  cn
53
50
  end
54
-
51
+
55
52
  def cn
56
53
  lookup_value(:cn)
57
54
  end
58
-
55
+
59
56
  def person_type
60
57
  edu_person_primary_affiliation
61
58
  end
62
-
59
+
63
60
  def edu_person_primary_affiliation
64
61
  lookup_value(:eduPersonPrimaryAffiliation)
65
62
  end
66
-
63
+
67
64
  def title
68
65
  employee_title
69
66
  end
70
-
67
+
71
68
  def employee_title
72
69
  lookup_value(:employeeTitle)
73
70
  end
74
-
71
+
75
72
  def department
76
73
  employee_primary_dept
77
74
  end
78
-
75
+
79
76
  def employee_primary_dept
80
77
  lookup_value(:employeePrimaryDept)
81
78
  end
82
-
79
+
83
80
  def department_name
84
81
  employee_primary_dept_name
85
82
  end
86
-
83
+
87
84
  def employee_primary_dept_name
88
85
  lookup_value(:employeePrimaryDeptName)
89
86
  end
90
-
87
+
91
88
  def lookup_value(val)
92
89
  k = val.to_s.downcase
93
90
  if(@value_h.key? k)
94
91
  @value_h[k]
95
92
  else
96
- nil
93
+ nil
97
94
  end
98
95
  end
99
96
  end
100
-
97
+
101
98
  end
@@ -1,9 +1,3 @@
1
- require 'date'
2
- require 'uaeds/eds'
3
- require 'uaeds/eds_dsml'
4
- require 'uaeds/dsml'
5
- require 'uaeds/dsml_person'
6
-
7
1
  # Provided to ease testing of applications using DSML
8
2
  module Uaeds
9
3
  class MockEdsDSML < EdsDSML
@@ -15,7 +9,7 @@ module Uaeds
15
9
 
16
10
  def self.eds_endpoint=(endpoint=nil)
17
11
  end
18
-
12
+
19
13
  def self.eds_endpoint
20
14
  end
21
15
 
@@ -46,7 +40,7 @@ module Uaeds
46
40
  :employeePrimaryDeptName => @mock_overrides[:employeePrimaryDeptName] || "Robot Wing"
47
41
  }
48
42
  end
49
-
43
+
50
44
  end
51
45
 
52
46
  class MockDSMLPerson < DSMLPerson
@@ -62,4 +56,3 @@ module Uaeds
62
56
  end
63
57
 
64
58
  end
65
-
data/lib/uaeds/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Uaeds
2
- VERSION = "0.0.4"
2
+ VERSION = '0.0.6'
3
3
  end
data/lib/uaeds.rb CHANGED
@@ -1,3 +1,16 @@
1
- module Uaeds
1
+ require 'open-uri'
2
+ require 'json'
3
+ require 'singleton'
4
+ require 'date'
5
+ require 'nokogiri'
2
6
 
3
- end
7
+ module Uaeds
8
+ require 'uaeds/version'
9
+ require 'uaeds/eds'
10
+ require 'uaeds/dsml'
11
+ require 'uaeds/eds_dsml'
12
+ require 'uaeds/eds_json'
13
+ require 'uaeds/json_person'
14
+ require 'uaeds/dsml_person'
15
+ require 'uaeds/mock_eds'
16
+ end
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uaeds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - dgsan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-17 00:00:00.000000000 Z
11
+ date: 2017-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.1'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '2.6'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.6'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: highline
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.6'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.6'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.6'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.6'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '1.8'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.8'
97
97
  description: Tool for working with UA's 'Enterprise Directory Service,' an XML-based
@@ -102,8 +102,8 @@ executables: []
102
102
  extensions: []
103
103
  extra_rdoc_files: []
104
104
  files:
105
- - .gitignore
106
- - .rspec
105
+ - ".gitignore"
106
+ - ".rspec"
107
107
  - Gemfile
108
108
  - LICENSE.txt
109
109
  - README.md
@@ -131,17 +131,17 @@ require_paths:
131
131
  - lib
132
132
  required_ruby_version: !ruby/object:Gem::Requirement
133
133
  requirements:
134
- - - '>='
134
+ - - ">="
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0'
137
137
  required_rubygems_version: !ruby/object:Gem::Requirement
138
138
  requirements:
139
- - - '>='
139
+ - - ">="
140
140
  - !ruby/object:Gem::Version
141
141
  version: '0'
142
142
  requirements: []
143
143
  rubyforge_project:
144
- rubygems_version: 2.0.7
144
+ rubygems_version: 2.5.2
145
145
  signing_key:
146
146
  specification_version: 4
147
147
  summary: Tool for working with UA EDS