uaeds 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b849867af133bd9bb166313fc73662dbf25cf5ed
4
- data.tar.gz: 2dfdb9cf4d56f46d74f2b14603bf3b92448b68cb
3
+ metadata.gz: 360c26e4e040f658fcb0bdc374c0a75aa231e571
4
+ data.tar.gz: 77b9e3273861c6eba3765e8492394151b9c4fb1c
5
5
  SHA512:
6
- metadata.gz: e94e522bd19724a65c6d08206085e04c86bc646412c91ad26f3261446d8303b43c20d5cce85bd22c8d3fe987a4c6df7620ddc52cb913ff5707ef52dac6ab652b
7
- data.tar.gz: 742f3c771eb701d90454ec4b0b119299deb730787b5adf018af15b62b8c78f91fdbc677c935e358f8c2cef268371bef1861195114c89ab8a9a1783446cd637ec
6
+ metadata.gz: faa6d09b2927831efcb6c39cc27d3ec4247fdb26280314dbff86d7091a547793894570aae2b808dcf29800f373e429c084fd975e51aa33833678478bd0e85ade
7
+ data.tar.gz: 5053b713ee6cce2ee4949841064aad2aa0a1cf706e5cbfbd786bb960206b7175ff0b6d66219e0960abf9e4699cdb6e893f8c36f8cdb03fa347cf46e6b9f71233
data/README.md CHANGED
@@ -15,7 +15,10 @@ You have a choice between `EdsDSML` and `EdsJSON`. The difference is that DSML r
15
15
 
16
16
  Either way, you need to provide an endpoint, EDS user, and access key for library to use.
17
17
  ```ruby
18
- eds = EdsDSML.new("https://<endpoint>", <user>, <key>)
18
+ EdsDSML.eds_user = <user>
19
+ EdsDSML.eds_key = <key>
20
+ EdsDSML.eds_endpoint = "https://<endpoint>"
21
+ eds = EdsDSML.instance
19
22
  person = eds.person_by_netid(<netid>)
20
23
  person.uaid
21
24
  person.uid
data/lib/uaeds/eds.rb CHANGED
@@ -2,15 +2,28 @@
2
2
 
3
3
  module Uaeds
4
4
  class Eds
5
- def initialize(url, user=nil, password=nil)
6
- raise ArgumentError, "EDS URL required." unless (url && url.strip != "")
7
- if(user && password)
8
- @user = user
9
- @password = password
5
+ @@eds_user = nil
6
+ @@eds_key = nil
7
+
8
+ def initialize(url=nil, user=nil, password=nil)
9
+ if(url == nil)
10
+ raise ArgumentError, "EDS URL required." unless (self.class.eds_endpoint && self.class.eds_endpoint.strip != "")
11
+ if(@@eds_user && @@eds_key)
12
+ @user = @@eds_user
13
+ @password = @@eds_key
14
+ end
15
+ @url = self.class.eds_endpoint
16
+ else
17
+ raise ArgumentError, "EDS URL required." unless (url && url.strip != "")
18
+ if(user && password)
19
+ @user = user
20
+ @password = password
21
+ end
22
+ @url = url
10
23
  end
11
- @url = url
12
24
  end
13
25
 
26
+
14
27
  def person_by_uaid(uaid)
15
28
  return open_person(uaid)
16
29
  end
@@ -27,6 +40,22 @@ module Uaeds
27
40
  return open_person(identifier)
28
41
  end
29
42
 
43
+ def self.eds_user=(user=nil)
44
+ @@eds_user = user
45
+ end
46
+
47
+ def self.eds_key=(key=nil)
48
+ @@eds_key = key
49
+ end
50
+
51
+ def self.eds_user
52
+ @@eds_user
53
+ end
54
+
55
+ def self.eds_key
56
+ @@eds_key
57
+ end
58
+
30
59
  private
31
60
 
32
61
  def open_persion(idenfifier)
@@ -3,9 +3,21 @@ require 'open-uri'
3
3
  require 'nokogiri'
4
4
  require 'uaeds/eds'
5
5
  require 'uaeds/dsml_person'
6
+ require 'singleton'
6
7
 
7
8
  module Uaeds
8
9
  class EdsDSML < Eds
10
+ include Singleton
11
+
12
+ @@eds_dsml_endpoint = nil
13
+
14
+ def self.eds_endpoint=(endpoint=nil)
15
+ @@eds_dsml_endpoint = endpoint
16
+ end
17
+
18
+ def self.eds_endpoint
19
+ @@eds_dsml_endpoint
20
+ end
9
21
 
10
22
  private
11
23
 
@@ -3,11 +3,14 @@ require 'open-uri'
3
3
  require 'json'
4
4
  require 'uaeds/eds'
5
5
  require 'uaeds/json_person'
6
-
6
+ require 'singleton'
7
7
 
8
8
  module Uaeds
9
9
  class EdsJSON < Eds
10
-
10
+ include Singleton
11
+
12
+ @@eds_json_endpoint = nil
13
+
11
14
  def person_by_uaid(uaid)
12
15
  return open_person('uaId', uaid)
13
16
  end
@@ -23,7 +26,15 @@ module Uaeds
23
26
  def person(identifier)
24
27
  return open_person(nil, identifier)
25
28
  end
26
-
29
+
30
+ def self.eds_endpoint=(endpoint=nil)
31
+ @@eds_json_endpoint = endpoint
32
+ end
33
+
34
+ def self.eds_endpoint
35
+ @@eds_json_endpoint
36
+ end
37
+
27
38
  private
28
39
 
29
40
  def open_person(attribute=nil, value)
data/lib/uaeds/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Uaeds
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/spec/uaeds_spec.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'uaeds/eds'
1
2
  require 'uaeds/eds_dsml'
2
3
  require 'uaeds/eds_json'
3
4
  require 'highline/import'
@@ -74,13 +75,18 @@ module Uaeds
74
75
  expect(eds_json_ep).not_to be_empty
75
76
  end
76
77
 
78
+ Eds.eds_user = eds_user
79
+ Eds.eds_key = eds_key
80
+ EdsDSML.eds_endpoint = "https://#{eds_dsml_ep}"
81
+ EdsJSON.eds_endpoint = "https://#{eds_json_ep}"
82
+
77
83
  end
78
84
 
79
85
 
80
86
  describe 'EdsDSML and EdsJSON retrieve the same results' do
81
87
 
82
- eds0 = EdsDSML.new("https://#{eds_dsml_ep}", eds_user, eds_key)
83
- eds1 = EdsJSON.new("https://#{eds_json_ep}", eds_user, eds_key)
88
+ eds0 = EdsDSML.instance
89
+ eds1 = EdsJSON.instance
84
90
 
85
91
  describe 'EdsDSML and EdsJSON should match when retrieved by NetId' do
86
92
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uaeds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - dgsan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-10 00:00:00.000000000 Z
11
+ date: 2013-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler