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 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, 'FIND_BY_GROUP_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 stem.nil? || group.empty?
70
+ raise ArgumentError if group.nil? || group.empty?
62
71
  k1, k2 = 'WsFindGroupsResults', 'groupResults'
63
72
  request = {
64
73
  'WsRestFindGroupsLiteRequest' => {
@@ -1,7 +1,7 @@
1
1
  module Grouper # :nodoc:
2
2
  module Rest # :nodoc:
3
3
  module Client
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
6
6
  end
7
7
  end
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
- segments:
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-24 00:00:00 -05:00
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