treequel 1.3.0 → 1.3.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.tar.gz.sig +0 -0
- data/Rakefile +2 -0
- data/lib/treequel.rb +2 -2
- data/lib/treequel/model/objectclass.rb +1 -1
- data/spec/treequel/model/objectclass_spec.rb +16 -31
- metadata +5 -4
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/Rakefile
CHANGED
@@ -35,6 +35,7 @@ hoespec = Hoe.spec 'treequel' do
|
|
35
35
|
" - termios",
|
36
36
|
" - ruby-terminfo",
|
37
37
|
" - columnize",
|
38
|
+
" - sysexits",
|
38
39
|
'',
|
39
40
|
"You can install those automatically if you use the --development flag when",
|
40
41
|
"installing Treequel."
|
@@ -43,6 +44,7 @@ hoespec = Hoe.spec 'treequel' do
|
|
43
44
|
|
44
45
|
self.require_ruby_version( '>=1.8.7' )
|
45
46
|
|
47
|
+
self.rspec_options += ['-cfd'] if self.respond_to?( :rspec_options= )
|
46
48
|
self.hg_sign_tags = true if self.respond_to?( :hg_sign_tags= )
|
47
49
|
self.manual_source_dir = 'src' if self.respond_to?( :manual_source_dir= )
|
48
50
|
self.yard_opts = [ '--use-cache', '--protected', '--verbose' ] if
|
data/lib/treequel.rb
CHANGED
@@ -53,10 +53,10 @@ end
|
|
53
53
|
module Treequel
|
54
54
|
|
55
55
|
# Library version
|
56
|
-
VERSION = '1.3.
|
56
|
+
VERSION = '1.3.1'
|
57
57
|
|
58
58
|
# VCS revision
|
59
|
-
REVISION = %q$Revision:
|
59
|
+
REVISION = %q$Revision: fb7ec4e38f66 $
|
60
60
|
|
61
61
|
# Common paths for ldap.conf
|
62
62
|
COMMON_LDAP_CONF_PATHS = %w[
|
@@ -92,7 +92,7 @@ module Treequel::Model::ObjectClass
|
|
92
92
|
rdn_pair.split( /\+/ ).each do |attrpair|
|
93
93
|
k, v = attrpair.split( /\s*=\s*/ )
|
94
94
|
entryhash[ k ] ||= []
|
95
|
-
entryhash[ k ] << v
|
95
|
+
entryhash[ k ] << v unless entryhash[ k ].include?( v )
|
96
96
|
end
|
97
97
|
|
98
98
|
return self.model_class.new( directory, dn, entryhash )
|
@@ -185,7 +185,21 @@ describe Treequel::Model::ObjectClass do
|
|
185
185
|
result = mixin.create( @directory, TEST_PERSON_DN )
|
186
186
|
result.should be_a( Treequel::Model )
|
187
187
|
result[:objectClass].should include( 'inetOrgPerson' )
|
188
|
-
result[TEST_PERSON_DN_ATTR].should
|
188
|
+
result[TEST_PERSON_DN_ATTR].should == [ TEST_PERSON_DN_VALUE ]
|
189
|
+
end
|
190
|
+
|
191
|
+
it "doesn't add the extracted DN attribute if it's already present in the entry" do
|
192
|
+
mixin = Module.new do
|
193
|
+
extend Treequel::Model::ObjectClass
|
194
|
+
model_objectclasses :inetOrgPerson
|
195
|
+
end
|
196
|
+
|
197
|
+
result = mixin.create( @directory, TEST_PERSON_DN,
|
198
|
+
TEST_PERSON_DN_ATTR => [TEST_PERSON_DN_VALUE] )
|
199
|
+
result.should be_a( Treequel::Model )
|
200
|
+
result[:objectClass].should include( 'inetOrgPerson' )
|
201
|
+
result[TEST_PERSON_DN_ATTR].should have( 1 ).member
|
202
|
+
result[TEST_PERSON_DN_ATTR].should == [ TEST_PERSON_DN_VALUE ]
|
189
203
|
end
|
190
204
|
|
191
205
|
it "merges objectClasses passed to the creation method" do
|
@@ -199,6 +213,7 @@ describe Treequel::Model::ObjectClass do
|
|
199
213
|
result.should be_a( Treequel::Model )
|
200
214
|
result[:objectClass].should have( 2 ).members
|
201
215
|
result[:objectClass].should include( 'inetOrgPerson', 'person' )
|
216
|
+
result[TEST_PERSON_DN_ATTR].should have( 1 ).member
|
202
217
|
result[TEST_PERSON_DN_ATTR].should include( TEST_PERSON_DN_VALUE )
|
203
218
|
end
|
204
219
|
|
@@ -216,36 +231,6 @@ describe Treequel::Model::ObjectClass do
|
|
216
231
|
result[TEST_HOST_MULTIVALUE_DN_ATTR2].should include( TEST_HOST_MULTIVALUE_DN_VALUE2 )
|
217
232
|
end
|
218
233
|
|
219
|
-
it "can instantiate a new model object with its declared objectClasses" do
|
220
|
-
conn = mock( "ldap connection object" )
|
221
|
-
directory = get_fixtured_directory( conn )
|
222
|
-
|
223
|
-
mixin = Module.new do
|
224
|
-
extend Treequel::Model::ObjectClass
|
225
|
-
model_objectclasses :inetOrgPerson
|
226
|
-
end
|
227
|
-
|
228
|
-
result = mixin.create( directory, TEST_PERSON_DN )
|
229
|
-
result.should be_a( Treequel::Model )
|
230
|
-
result[:objectClass].should include( 'inetOrgPerson' )
|
231
|
-
end
|
232
|
-
|
233
|
-
it "merges objectClasses passed to the creation method" do
|
234
|
-
conn = mock( "ldap connection object" )
|
235
|
-
directory = get_fixtured_directory( conn )
|
236
|
-
|
237
|
-
mixin = Module.new do
|
238
|
-
extend Treequel::Model::ObjectClass
|
239
|
-
model_objectclasses :inetOrgPerson
|
240
|
-
end
|
241
|
-
|
242
|
-
result = mixin.create( directory, TEST_PERSON_DN,
|
243
|
-
:objectClass => [:person, :inetOrgPerson] )
|
244
|
-
result.should be_a( Treequel::Model )
|
245
|
-
result[:objectClass].should have( 2 ).members
|
246
|
-
result[:objectClass].should include( 'inetOrgPerson', 'person' )
|
247
|
-
end
|
248
|
-
|
249
234
|
end
|
250
235
|
|
251
236
|
context "module that has one required objectClass declared" do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: treequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 1.3.
|
9
|
+
- 1
|
10
|
+
version: 1.3.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Michael Granger
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
cmlhXe46pZNJgWKbxZah85jIjx95hR8vOI+NAM5iH9kOqK13DrxacTKPhqj5PjwF
|
37
37
|
-----END CERTIFICATE-----
|
38
38
|
|
39
|
-
date: 2011-01-
|
39
|
+
date: 2011-01-17 00:00:00 -08:00
|
40
40
|
default_executable:
|
41
41
|
dependencies:
|
42
42
|
- !ruby/object:Gem::Dependency
|
@@ -264,6 +264,7 @@ post_install_message: |-
|
|
264
264
|
- termios
|
265
265
|
- ruby-terminfo
|
266
266
|
- columnize
|
267
|
+
- sysexits
|
267
268
|
|
268
269
|
You can install those automatically if you use the --development flag when
|
269
270
|
installing Treequel.
|
metadata.gz.sig
CHANGED
Binary file
|