grouper-rest-client 0.2.0 → 0.2.1
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/HISTORY +4 -0
- data/lib/grouper-rest-client/resource.rb +11 -2
- data/lib/grouper-rest-client/version.rb +1 -1
- metadata +2 -28
data/HISTORY
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
2011-05-03 v0.2.1
|
2
|
+
- Added "Grouper::Client::Resource#debug" accessor for enabling/disabling debugging
|
3
|
+
- Fixed Grouper WS API bug in "Grouper::Client::Resource#group"
|
4
|
+
|
1
5
|
2011-03-24 v0.2.0
|
2
6
|
- Added "Resource#group(name)" method
|
3
7
|
- Added "Resource#groups( group, [filter_type] )" method
|
@@ -7,6 +7,8 @@ module Grouper # :nodoc:
|
|
7
7
|
module Client # :nodoc:
|
8
8
|
class Resource
|
9
9
|
|
10
|
+
attr_accessor :debug
|
11
|
+
|
10
12
|
# Response object from last request.
|
11
13
|
attr_reader :response
|
12
14
|
|
@@ -17,6 +19,7 @@ module Grouper # :nodoc:
|
|
17
19
|
# +:password => password+:: Authenticate to the API with this password.
|
18
20
|
def initialize( url, options={} )
|
19
21
|
raise ArgumentError if url.nil? || url.empty?
|
22
|
+
@debug = false
|
20
23
|
@error = false
|
21
24
|
@client = RestClient::Resource.new( url, options.merge!( :headers => { :content_type => 'text/x-json' } ) )
|
22
25
|
@response = nil
|
@@ -35,6 +38,7 @@ module Grouper # :nodoc:
|
|
35
38
|
else
|
36
39
|
@response = @client[resource].send(method)
|
37
40
|
end
|
41
|
+
_debug(@response)
|
38
42
|
@error = false
|
39
43
|
JSON.parse( @response.body )
|
40
44
|
rescue RestClient::Exception => e
|
@@ -42,12 +46,17 @@ module Grouper # :nodoc:
|
|
42
46
|
return JSON.parse( e.response )
|
43
47
|
end
|
44
48
|
|
49
|
+
# Emit raw result if debuging is enabled.
|
50
|
+
def _debug(result)
|
51
|
+
warn result if @debug && !result.nil?
|
52
|
+
end
|
53
|
+
|
45
54
|
# Was there an error on the last WS call?
|
46
55
|
def error?; @error; end
|
47
56
|
|
48
57
|
# Get +Grouper::Rest::Client::Resource::Group+ matching name or +nil+.
|
49
58
|
def group(name)
|
50
|
-
groups = groups( name, '
|
59
|
+
groups = groups( name, 'FIND_BY_GROUP_NAME_EXACT' )
|
51
60
|
return groups.first if ok? && 1 == groups.size
|
52
61
|
return nil
|
53
62
|
end
|
@@ -58,7 +67,7 @@ module Grouper # :nodoc:
|
|
58
67
|
# +group+:: Get group(s) matching this identifier.
|
59
68
|
# +filter_type+:: Query groups with this filter type. Defaults to 'FIND_BY_GROUP_NAME_APPROXIMATE'. (optional)
|
60
69
|
def groups( group, filter_type = 'FIND_BY_GROUP_NAME_APPROXIMATE' )
|
61
|
-
raise ArgumentError if
|
70
|
+
raise ArgumentError if group.nil? || group.empty?
|
62
71
|
k1, k2 = 'WsFindGroupsResults', 'groupResults'
|
63
72
|
request = {
|
64
73
|
'WsRestFindGroupsLiteRequest' => {
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grouper-rest-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 23
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 0.2.0
|
5
|
+
version: 0.2.1
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Blair Christensen
|
@@ -15,7 +10,7 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-03
|
13
|
+
date: 2011-05-03 00:00:00 -05:00
|
19
14
|
default_executable:
|
20
15
|
dependencies:
|
21
16
|
- !ruby/object:Gem::Dependency
|
@@ -26,11 +21,6 @@ dependencies:
|
|
26
21
|
requirements:
|
27
22
|
- - ">="
|
28
23
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 1
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 5
|
33
|
-
- 1
|
34
24
|
version: 1.5.1
|
35
25
|
type: :runtime
|
36
26
|
version_requirements: *id001
|
@@ -42,11 +32,6 @@ dependencies:
|
|
42
32
|
requirements:
|
43
33
|
- - ">="
|
44
34
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 13
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 6
|
49
|
-
- 1
|
50
35
|
version: 1.6.1
|
51
36
|
type: :runtime
|
52
37
|
version_requirements: *id002
|
@@ -58,11 +43,6 @@ dependencies:
|
|
58
43
|
requirements:
|
59
44
|
- - ">="
|
60
45
|
- !ruby/object:Gem::Version
|
61
|
-
hash: 27
|
62
|
-
segments:
|
63
|
-
- 2
|
64
|
-
- 5
|
65
|
-
- 0
|
66
46
|
version: 2.5.0
|
67
47
|
type: :development
|
68
48
|
version_requirements: *id003
|
@@ -101,18 +81,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
101
81
|
requirements:
|
102
82
|
- - ">="
|
103
83
|
- !ruby/object:Gem::Version
|
104
|
-
hash: 3
|
105
|
-
segments:
|
106
|
-
- 0
|
107
84
|
version: "0"
|
108
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
86
|
none: false
|
110
87
|
requirements:
|
111
88
|
- - ">="
|
112
89
|
- !ruby/object:Gem::Version
|
113
|
-
hash: 3
|
114
|
-
segments:
|
115
|
-
- 0
|
116
90
|
version: "0"
|
117
91
|
requirements: []
|
118
92
|
|