grouper-rest-client 0.2.1 → 0.2.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/HISTORY +3 -0
- data/README.rdoc +4 -3
- data/Rakefile +2 -2
- data/lib/grouper-rest-client.rb +5 -2
- data/lib/grouper-rest-client/resource.rb +13 -0
- data/lib/grouper-rest-client/version.rb +1 -1
- metadata +2 -2
data/HISTORY
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
2011-05-04 v0.2.2
|
2
|
+
- Added "Grouper::Client::Resource::Group#members()" for retrieving group members.
|
3
|
+
|
1
4
|
2011-05-03 v0.2.1
|
2
5
|
- Added "Grouper::Client::Resource#debug" accessor for enabling/disabling debugging
|
3
6
|
- Fixed Grouper WS API bug in "Grouper::Client::Resource#group"
|
data/README.rdoc
CHANGED
@@ -22,6 +22,9 @@
|
|
22
22
|
# UUID of group.
|
23
23
|
group['uuid']
|
24
24
|
|
25
|
+
# Get members of group.
|
26
|
+
members = group.members
|
27
|
+
|
25
28
|
|
26
29
|
# Find all subjects matching identifier.
|
27
30
|
subjects = grouper.subjects('foo')
|
@@ -39,11 +42,9 @@
|
|
39
42
|
# In what groups within the specified stem is this subject a member?
|
40
43
|
my_filtered_groups = subject.groups('some:stem')
|
41
44
|
|
42
|
-
|
43
45
|
# Was the last WS call successful?
|
44
46
|
grouper.ok?
|
45
|
-
|
47
|
+
|
46
48
|
# Was there an error on the last WS call?
|
47
49
|
grouper.error?
|
48
50
|
end
|
49
|
-
|
data/Rakefile
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'bundler'
|
2
|
+
require 'rdoc-readme/rake_task'
|
2
3
|
require 'rspec/core/rake_task'
|
3
4
|
|
4
5
|
Bundler::GemHelper.install_tasks
|
5
|
-
|
6
|
+
RDoc::Readme::RakeTask.new 'lib/grouper-rest-client.rb', 'README.rdoc'
|
6
7
|
RSpec::Core::RakeTask.new(:spec)
|
7
8
|
|
8
9
|
task :default => :spec
|
9
10
|
|
10
|
-
|
data/lib/grouper-rest-client.rb
CHANGED
@@ -2,9 +2,10 @@ require File.join( File.expand_path( File.dirname(__FILE__) ), 'grouper-rest-cli
|
|
2
2
|
|
3
3
|
module Grouper # :nodoc:
|
4
4
|
module Rest # :nodoc:
|
5
|
-
# = Minimal REST client for interacting with the Grouper WS API.
|
5
|
+
# = Grouper::Rest::Client - Minimal REST client for interacting with the Grouper WS API.
|
6
6
|
#
|
7
7
|
# == Usage
|
8
|
+
#
|
8
9
|
# Grouper::Rest::Client::Resource.new url, :user => user, :password => pass do |grouper|
|
9
10
|
# # Find all stems matching identifier.
|
10
11
|
# stems = grouper.stems('some:approximate:stem')
|
@@ -25,6 +26,9 @@ module Grouper # :nodoc:
|
|
25
26
|
# # UUID of group.
|
26
27
|
# group['uuid']
|
27
28
|
#
|
29
|
+
# # Get members of group.
|
30
|
+
# members = group.members
|
31
|
+
#
|
28
32
|
#
|
29
33
|
# # Find all subjects matching identifier.
|
30
34
|
# subjects = grouper.subjects('foo')
|
@@ -42,7 +46,6 @@ module Grouper # :nodoc:
|
|
42
46
|
# # In what groups within the specified stem is this subject a member?
|
43
47
|
# my_filtered_groups = subject.groups('some:stem')
|
44
48
|
#
|
45
|
-
#
|
46
49
|
# # Was the last WS call successful?
|
47
50
|
# grouper.ok?
|
48
51
|
#
|
@@ -83,6 +83,7 @@ module Grouper # :nodoc:
|
|
83
83
|
return result
|
84
84
|
end
|
85
85
|
|
86
|
+
# Get group(s) matching identifier.
|
86
87
|
# Was the last WS call successful?
|
87
88
|
def ok?; !error?; end
|
88
89
|
|
@@ -150,6 +151,18 @@ module Grouper # :nodoc:
|
|
150
151
|
return nil
|
151
152
|
end
|
152
153
|
|
154
|
+
# Get member(s) of group.
|
155
|
+
# Returns list of Grouper::Rest::Client::Resource::Subject objects OR JSON error response.
|
156
|
+
def members
|
157
|
+
raise ArgumentError if self['name'].nil? || self['name'].empty?
|
158
|
+
k1, k2 = 'WsGetMembersLiteResult', 'wsSubjects'
|
159
|
+
result = @resource.call("groups/#{ self['name'] }/members")
|
160
|
+
if result.key?(k1) && result[k1].key?(k2)
|
161
|
+
return result[k1][k2].collect { |s| Grouper::Rest::Client::Resource::Subject.new(@resource, s) }
|
162
|
+
end
|
163
|
+
return result
|
164
|
+
end
|
165
|
+
|
153
166
|
def to_s
|
154
167
|
return "#{ self.class.name}: #{ @json.keys.sort.collect { |k| "#{ k }=#{ @json[k] }" }.join(', ') }" if @json
|
155
168
|
super
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: grouper-rest-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Blair Christensen
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-04 00:00:00 -05:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|