treequel 1.0.4 → 1.1.0

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.
Files changed (53) hide show
  1. data/ChangeLog +130 -1
  2. data/Rakefile +8 -3
  3. data/Rakefile.local +2 -0
  4. data/bin/treeirb +6 -2
  5. data/bin/treequel +5 -4
  6. data/lib/treequel/branch.rb +133 -72
  7. data/lib/treequel/branchcollection.rb +16 -5
  8. data/lib/treequel/branchset.rb +37 -6
  9. data/lib/treequel/constants.rb +12 -0
  10. data/lib/treequel/directory.rb +96 -41
  11. data/lib/treequel/filter.rb +42 -1
  12. data/lib/treequel/model/objectclass.rb +111 -0
  13. data/lib/treequel/model.rb +363 -0
  14. data/lib/treequel/monkeypatches.rb +65 -0
  15. data/lib/treequel/schema/attributetype.rb +108 -18
  16. data/lib/treequel/schema/ldapsyntax.rb +15 -0
  17. data/lib/treequel/schema/matchingrule.rb +24 -0
  18. data/lib/treequel/schema/matchingruleuse.rb +24 -0
  19. data/lib/treequel/schema/objectclass.rb +70 -5
  20. data/lib/treequel/schema/table.rb +5 -15
  21. data/lib/treequel/schema.rb +64 -1
  22. data/lib/treequel.rb +5 -5
  23. data/rake/documentation.rb +27 -0
  24. data/rake/hg.rb +14 -2
  25. data/rake/manual.rb +1 -1
  26. data/spec/lib/constants.rb +9 -7
  27. data/spec/lib/control_behavior.rb +1 -0
  28. data/spec/lib/matchers.rb +1 -0
  29. data/spec/treequel/branch_spec.rb +229 -20
  30. data/spec/treequel/branchcollection_spec.rb +73 -39
  31. data/spec/treequel/branchset_spec.rb +59 -8
  32. data/spec/treequel/control_spec.rb +1 -0
  33. data/spec/treequel/controls/contentsync_spec.rb +1 -0
  34. data/spec/treequel/controls/pagedresults_spec.rb +1 -0
  35. data/spec/treequel/controls/sortedresults_spec.rb +1 -0
  36. data/spec/treequel/directory_spec.rb +46 -10
  37. data/spec/treequel/filter_spec.rb +28 -5
  38. data/spec/treequel/mixins_spec.rb +7 -14
  39. data/spec/treequel/model/objectclass_spec.rb +330 -0
  40. data/spec/treequel/model_spec.rb +433 -0
  41. data/spec/treequel/monkeypatches_spec.rb +118 -0
  42. data/spec/treequel/schema/attributetype_spec.rb +116 -0
  43. data/spec/treequel/schema/ldapsyntax_spec.rb +8 -0
  44. data/spec/treequel/schema/matchingrule_spec.rb +6 -1
  45. data/spec/treequel/schema/matchingruleuse_spec.rb +5 -0
  46. data/spec/treequel/schema/objectclass_spec.rb +41 -3
  47. data/spec/treequel/schema/table_spec.rb +31 -18
  48. data/spec/treequel/schema_spec.rb +13 -16
  49. data/spec/treequel_spec.rb +22 -0
  50. data.tar.gz.sig +1 -0
  51. metadata +40 -7
  52. metadata.gz.sig +0 -0
  53. data/spec/treequel/utils_spec.rb +0 -49
@@ -6,6 +6,7 @@ BEGIN {
6
6
 
7
7
  libdir = basedir + "lib"
8
8
 
9
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
10
  $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
10
11
  }
11
12
 
@@ -58,6 +59,9 @@ describe Treequel::Schema::LDAPSyntax do
58
59
  @syntax.desc.should == 'Boolean'
59
60
  end
60
61
 
62
+ it "can remake its own schema description" do
63
+ @syntax.to_s.should == BOOLEAN_SYNTAX
64
+ end
61
65
  end
62
66
 
63
67
 
@@ -75,6 +79,10 @@ describe Treequel::Schema::LDAPSyntax do
75
79
  it "knows that it doesn't have a DESC attribute" do
76
80
  @syntax.desc.should be_nil()
77
81
  end
82
+
83
+ it "can remake its own schema description" do
84
+ @syntax.to_s.should == NODESC_SYNTAX
85
+ end
78
86
  end
79
87
 
80
88
  end
@@ -6,6 +6,7 @@ BEGIN {
6
6
 
7
7
  libdir = basedir + "lib"
8
8
 
9
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
10
  $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
10
11
  }
11
12
 
@@ -46,7 +47,8 @@ describe Treequel::Schema::MatchingRule do
46
47
 
47
48
  describe "parsed from the 'octetStringMatch' matchingRule" do
48
49
 
49
- OCTETSTRINGMATCH_RULE = %{( 2.5.13.17 NAME 'octetStringMatch' SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )}
50
+ OCTETSTRINGMATCH_RULE = %{( 2.5.13.17 NAME 'octetStringMatch' } +
51
+ %{SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )}
50
52
 
51
53
  before( :each ) do
52
54
  @rule = Treequel::Schema::MatchingRule.parse( @schema, OCTETSTRINGMATCH_RULE )
@@ -74,6 +76,9 @@ describe Treequel::Schema::MatchingRule do
74
76
  @rule.should_not be_obsolete()
75
77
  end
76
78
 
79
+ it "can remake its own schema description" do
80
+ @rule.to_s.should == OCTETSTRINGMATCH_RULE
81
+ end
77
82
  end
78
83
 
79
84
  describe "parsed from an matchingRule that has a DESC attribute" do
@@ -6,6 +6,7 @@ BEGIN {
6
6
 
7
7
  libdir = basedir + "lib"
8
8
 
9
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
10
  $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
10
11
  }
11
12
 
@@ -73,6 +74,10 @@ describe Treequel::Schema::MatchingRuleUse do
73
74
  and_return({ :uniqueMember => :a_attrtype_object })
74
75
  @ruleuse.attribute_types.should == [ :a_attrtype_object ]
75
76
  end
77
+
78
+ it "can remake its own schema description" do
79
+ @ruleuse.to_s.should == UNIQUE_MEMBER_MATCH_DESC
80
+ end
76
81
  end
77
82
 
78
83
 
@@ -6,6 +6,7 @@ BEGIN {
6
6
 
7
7
  libdir = basedir + "lib"
8
8
 
9
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
10
  $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
10
11
  }
11
12
 
@@ -53,7 +54,7 @@ describe Treequel::Schema::ObjectClass do
53
54
 
54
55
 
55
56
  before( :all ) do
56
- setup_logging( :debug )
57
+ setup_logging( :fatal )
57
58
  @datadir = Pathname( __FILE__ ).dirname.parent.parent + 'data'
58
59
  end
59
60
 
@@ -125,6 +126,9 @@ describe Treequel::Schema::ObjectClass do
125
126
  @oc.sup.should be_nil()
126
127
  end
127
128
 
129
+ it "can remake its own schema description" do
130
+ @oc.to_s.should == TOP_OBJECTCLASS
131
+ end
128
132
  end
129
133
 
130
134
 
@@ -180,6 +184,13 @@ describe Treequel::Schema::ObjectClass do
180
184
  :physicalDeliveryOfficeName, :ou, :st, :l )
181
185
  end
182
186
 
187
+ it "can remake its own schema description" do
188
+ @oc.to_s.should == ORGPERSON_OBJECTCLASS.squeeze(' ')
189
+ end
190
+
191
+ it "can fetch all of its ancestors" do
192
+ @oc.ancestors.should == @schema.object_classes.values_at( :orgPerson, :person, :top )
193
+ end
183
194
  end
184
195
 
185
196
 
@@ -195,11 +206,15 @@ describe Treequel::Schema::ObjectClass do
195
206
  @oc.should be_an_instance_of( Treequel::Schema::StructuralObjectClass )
196
207
  end
197
208
 
209
+ it "can remake its own schema description" do
210
+ # STRUCTURAL is implied...
211
+ @oc.to_s.sub( / STRUCTURAL/, '' ).should == KINDLESS_OBJECTCLASS
212
+ end
198
213
  end
199
214
 
200
215
  describe "parsed from an objectClass that has a list as the value of its NAME attribute" do
201
216
 
202
- MULTINAME_OBJECTCLASS = %{( 1.1.1.1 NAME ('firstname' 'secondname') )}
217
+ MULTINAME_OBJECTCLASS = %{( 1.1.1.1 NAME ( 'firstname' 'secondname' ) )}
203
218
 
204
219
  before( :each ) do
205
220
  @oc = Treequel::Schema::ObjectClass.parse( @schema, MULTINAME_OBJECTCLASS )
@@ -214,6 +229,10 @@ describe Treequel::Schema::ObjectClass do
214
229
  @oc.name.should == :firstname
215
230
  end
216
231
 
232
+ it "can remake its own schema description" do
233
+ # STRUCTURAL is implied...
234
+ @oc.to_s.sub( / STRUCTURAL/, '' ).should == MULTINAME_OBJECTCLASS
235
+ end
217
236
  end
218
237
 
219
238
  describe "parsed from an objectClass that has escaped characters in its DESC attribute" do
@@ -225,10 +244,14 @@ describe Treequel::Schema::ObjectClass do
225
244
  @oc = Treequel::Schema::ObjectClass.parse( @schema, ESCAPED_DESC_OBJECTCLASS )
226
245
  end
227
246
 
228
- it "unscapes the escaped characters" do
247
+ it "unescapes the escaped characters" do
229
248
  @oc.desc.should == %{This spec's example, which includes a \\ character.}
230
249
  end
231
250
 
251
+ it "can remake its own schema description" do
252
+ # STRUCTURAL is implied...
253
+ @oc.to_s.sub( / STRUCTURAL/, '' ).should == ESCAPED_DESC_OBJECTCLASS
254
+ end
232
255
  end
233
256
 
234
257
  describe "parsed from an objectClass that has the OBSOLETE attribute" do
@@ -243,6 +266,10 @@ describe Treequel::Schema::ObjectClass do
243
266
  @oc.should be_obsolete()
244
267
  end
245
268
 
269
+ it "can remake its own schema description" do
270
+ # STRUCTURAL is implied...
271
+ @oc.to_s.sub( / STRUCTURAL/, '' ).should == OBSOLETE_OBJECTCLASS
272
+ end
246
273
  end
247
274
 
248
275
  describe "parsed from an objectClass that has organizationalPerson as its SUP" do
@@ -250,6 +277,8 @@ describe Treequel::Schema::ObjectClass do
250
277
  SUB_OBJECTCLASS = %{( 1.1.1.1 SUP organizationalPerson )}
251
278
 
252
279
  before( :each ) do
280
+ @top = Treequel::Schema::ObjectClass.parse( @schema, TOP_OBJECTCLASS )
281
+ @op = Treequel::Schema::ObjectClass.parse( @schema, ORGPERSON_OBJECTCLASS )
253
282
  @oc = Treequel::Schema::ObjectClass.parse( @schema, SUB_OBJECTCLASS )
254
283
  end
255
284
 
@@ -259,6 +288,11 @@ describe Treequel::Schema::ObjectClass do
259
288
  @oc.sup.should == :organizationalPerson_objectclass
260
289
  end
261
290
 
291
+ it "can remake its own schema description" do
292
+ # STRUCTURAL is implied...
293
+ @oc.to_s.sub( / STRUCTURAL/, '' ).should == SUB_OBJECTCLASS
294
+ end
295
+
262
296
  end
263
297
 
264
298
  describe "parsed from an objectClass that has no explicit SUP" do
@@ -275,6 +309,10 @@ describe Treequel::Schema::ObjectClass do
275
309
  @oc.sup.should == :top_objectclass
276
310
  end
277
311
 
312
+ it "can remake its own schema description" do
313
+ # STRUCTURAL is implied...
314
+ @oc.to_s.sub( / STRUCTURAL/, '' ).should == ORPHAN_OBJECTCLASS
315
+ end
278
316
  end
279
317
 
280
318
  end
@@ -6,25 +6,18 @@ BEGIN {
6
6
 
7
7
  libdir = basedir + "lib"
8
8
 
9
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
10
  $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
10
11
  }
11
12
 
12
- begin
13
- require 'spec'
14
- require 'spec/lib/constants'
15
- require 'spec/lib/helpers'
16
-
17
- require 'yaml'
18
- require 'ldap'
19
- require 'ldap/schema'
20
- require 'treequel/schema'
21
- rescue LoadError
22
- unless Object.const_defined?( :Gem )
23
- require 'rubygems'
24
- retry
25
- end
26
- raise
27
- end
13
+ require 'spec'
14
+ require 'spec/lib/constants'
15
+ require 'spec/lib/helpers'
16
+
17
+ require 'yaml'
18
+ require 'ldap'
19
+ require 'ldap/schema'
20
+ require 'treequel/schema'
28
21
 
29
22
 
30
23
  include Treequel::TestConstants
@@ -119,8 +112,8 @@ describe Treequel::Schema::Table do
119
112
 
120
113
 
121
114
  it "provides a case-insensitive version of #values_at" do
122
- @table[:cn] = 'contra_rules'
123
- @table[:d] = 'ghosty'
115
+ @table[:cn] = 'contra_rules'
116
+ @table[:d] = 'ghosty'
124
117
  @table[:porntipsGuzzardo] = 'cha-ching'
125
118
 
126
119
  results = @table.values_at( :CN, 'PornTipsGuzzARDO' )
@@ -129,6 +122,26 @@ describe Treequel::Schema::Table do
129
122
  results.should_not include( 'ghosty' )
130
123
  end
131
124
 
125
+ it "can iterate over its members" do
126
+ @table[:cn] = 'contra_rules'
127
+ @table[:d] = 'ghosty'
128
+ @table[:porntipsGuzzardo] = 'cha-ching'
129
+
130
+ collection = []
131
+ @table.each {|k,v| collection << [k,v] }
132
+ collection.transpose[0].should include( :cn, :d, :porntipsguzzardo )
133
+ collection.transpose[1].should include( 'contra_rules', 'ghosty', 'cha-ching' )
134
+ end
135
+
136
+ it "is Enumerable" do
137
+ @table[:cn] = 'contra_rules'
138
+ @table[:d] = 'ghosty'
139
+ @table[:porntipsGuzzardo] = 'cha-ching'
140
+
141
+ collection = []
142
+ @table.any? {|k,v| v.index('o') }.should == true
143
+ end
144
+
132
145
  end
133
146
 
134
147
 
@@ -6,25 +6,18 @@ BEGIN {
6
6
 
7
7
  libdir = basedir + "lib"
8
8
 
9
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
10
  $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
10
11
  }
11
12
 
12
- begin
13
- require 'spec'
14
- require 'spec/lib/constants'
15
- require 'spec/lib/helpers'
16
-
17
- require 'yaml'
18
- require 'ldap'
19
- require 'ldap/schema'
20
- require 'treequel/schema'
21
- rescue LoadError
22
- unless Object.const_defined?( :Gem )
23
- require 'rubygems'
24
- retry
25
- end
26
- raise
27
- end
13
+ require 'spec'
14
+ require 'spec/lib/constants'
15
+ require 'spec/lib/helpers'
16
+
17
+ require 'yaml'
18
+ require 'ldap'
19
+ require 'ldap/schema'
20
+ require 'treequel/schema'
28
21
 
29
22
 
30
23
  include Treequel::TestConstants
@@ -62,6 +55,8 @@ describe Treequel::Schema do
62
55
  schema.matching_rules.should have( 72 ).members
63
56
  schema.matching_rule_uses.should have( 54 ).members
64
57
  schema.ldap_syntaxes.should have( 31 ).members
58
+
59
+ schema.operational_attribute_types.should have( 31 ).members
65
60
  end
66
61
 
67
62
 
@@ -82,6 +77,8 @@ describe Treequel::Schema do
82
77
  schema.matching_rules.should have( 72 ).members
83
78
  schema.matching_rule_uses.should have( 54 ).members
84
79
  schema.ldap_syntaxes.should have( 31 ).members
80
+
81
+ schema.operational_attribute_types.should have( 31 ).members
85
82
  end
86
83
 
87
84
 
@@ -6,6 +6,7 @@ BEGIN {
6
6
 
7
7
  libdir = basedir + "lib"
8
8
 
9
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
10
  $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
10
11
  }
11
12
 
@@ -92,6 +93,11 @@ describe Treequel do
92
93
  { :base_dn => 'dc=example,dc=com', :port => 389 }
93
94
  end
94
95
 
96
+ it "uses the LDAPS port for ldaps:// URIs" do
97
+ Treequel.make_options_from_uri( 'ldaps:///dc=example,dc=com' ).should ==
98
+ { :base_dn => 'dc=example,dc=com', :connect_type => :ssl, :port => 636 }
99
+ end
100
+
95
101
  # [?<attrs>[?<scope>[?<filter>[?<extensions>]]]]
96
102
  it "can build an options hash from an LDAP URL with extra stuff" do
97
103
  uri = 'ldap:///dc=example,dc=com?uid=jrandom,ou=People?l?one?!bindname=cn=auth'
@@ -120,6 +126,12 @@ describe Treequel do
120
126
  Treequel.directory( uri, :bind_dn => user_dn, :pass => pass, :connect_type => :plain )
121
127
  end
122
128
 
129
+ it "raises an exception when ::directory is called with something other than a Hash, " +
130
+ "String, or URI" do
131
+ expect {
132
+ Treequel.directory( 2 )
133
+ }.to raise_exception( ArgumentError, /unknown directory option/i )
134
+ end
123
135
 
124
136
  it "provides a convenience method for creating directory objects from the system LDAP config" do
125
137
  Treequel.should_receive( :find_configfile ).and_return( :a_configfile_path )
@@ -344,6 +356,16 @@ describe Treequel do
344
356
  { :port => 636, :connect_type => :ssl }
345
357
  end
346
358
 
359
+ it "ignores nss-style 'ssl' option if it is set to something other than " +
360
+ "'on', 'off', or 'start_tls'" do
361
+ IO.should_receive( :foreach ).with( :a_configfile ).
362
+ and_yield( "\n# Use alien-invasion protocol\nssl aliens\n" )
363
+
364
+ expect {
365
+ Treequel.read_opts_from_config( :a_configfile )
366
+ }.to_not raise_exception()
367
+ end
368
+
347
369
  #
348
370
  # Environment
349
371
  #
data.tar.gz.sig ADDED
@@ -0,0 +1 @@
1
+ �c ��\EQ�}L�m��%L���4HL�jѱ���E��.C�c�fσ�a���Napv�2�Ku�4A�y�: ��j�;RHC�X��Š?���M���r�$7?�3�-���G�P����@�]�6KcP�%u�7�yND��X8���y� !�l��]=I�����������ڕ����Bo����9>A���/�O]������e��o��O���6��v7H?f6E�O#Oe�PN��14������=f��0���w/�
metadata CHANGED
@@ -1,29 +1,52 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: treequel
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 19
4
5
  prerelease: false
5
6
  segments:
6
7
  - 1
8
+ - 1
7
9
  - 0
8
- - 4
9
- version: 1.0.4
10
+ version: 1.1.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - Michael Granger, Mahlon E. Smith
13
14
  autorequire:
14
15
  bindir: bin
15
- cert_chain: []
16
+ cert_chain:
17
+ - |
18
+ -----BEGIN CERTIFICATE-----
19
+ MIIDLDCCAhSgAwIBAgIBADANBgkqhkiG9w0BAQUFADA8MQwwCgYDVQQDDANnZWQx
20
+ FzAVBgoJkiaJk/IsZAEZFgdfYWVyaWVfMRMwEQYKCZImiZPyLGQBGRYDb3JnMB4X
21
+ DTEwMDkxNjE0NDg1MVoXDTExMDkxNjE0NDg1MVowPDEMMAoGA1UEAwwDZ2VkMRcw
22
+ FQYKCZImiZPyLGQBGRYHX2FlcmllXzETMBEGCgmSJomT8ixkARkWA29yZzCCASIw
23
+ DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALy//BFxC1f/cPSnwtJBWoFiFrir
24
+ h7RicI+joq/ocVXQqI4TDWPyF/8tqkvt+rD99X9qs2YeR8CU/YiIpLWrQOYST70J
25
+ vDn7Uvhb2muFVqq6+vobeTkILBEO6pionWDG8jSbo3qKm1RjKJDwg9p4wNKhPuu8
26
+ KGue/BFb67KflqyApPmPeb3Vdd9clspzqeFqp7cUBMEpFS6LWxy4Gk+qvFFJBJLB
27
+ BUHE/LZVJMVzfpC5Uq+QmY7B+FH/QqNndn3tOHgsPadLTNimuB1sCuL1a4z3Pepd
28
+ TeLBEFmEao5Dk3K/Q8o8vlbIB/jBDTUx6Djbgxw77909x6gI9doU4LD5XMcCAwEA
29
+ AaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJeoGkOr9l4B
30
+ +saMkW/ZXT4UeSvVMA0GCSqGSIb3DQEBBQUAA4IBAQBG2KObvYI2eHyyBUJSJ3jN
31
+ vEnU3d60znAXbrSd2qb3r1lY1EPDD3bcy0MggCfGdg3Xu54z21oqyIdk8uGtWBPL
32
+ HIa9EgfFGSUEgvcIvaYqiN4jTUtidfEFw+Ltjs8AP9gWgSIYS6Gr38V0WGFFNzIH
33
+ aOD2wmu9oo/RffW4hS/8GuvfMzcw7CQ355wFR4KB/nyze+EsZ1Y5DerCAagMVuDQ
34
+ U0BLmWDFzPGGWlPeQCrYHCr+AcJz+NRnaHCKLZdSKj/RHuTOt+gblRex8FAh8NeA
35
+ cmlhXe46pZNJgWKbxZah85jIjx95hR8vOI+NAM5iH9kOqK13DrxacTKPhqj5PjwF
36
+ -----END CERTIFICATE-----
16
37
 
17
- date: 2010-07-07 00:00:00 -07:00
38
+ date: 2010-09-20 00:00:00 -07:00
18
39
  default_executable:
19
40
  dependencies:
20
41
  - !ruby/object:Gem::Dependency
21
42
  name: ruby-ldap
22
43
  prerelease: false
23
44
  requirement: &id001 !ruby/object:Gem::Requirement
45
+ none: false
24
46
  requirements:
25
47
  - - ">="
26
48
  - !ruby/object:Gem::Version
49
+ hash: 41
27
50
  segments:
28
51
  - 0
29
52
  - 9
@@ -62,6 +85,9 @@ files:
62
85
  - spec/treequel/directory_spec.rb
63
86
  - spec/treequel/filter_spec.rb
64
87
  - spec/treequel/mixins_spec.rb
88
+ - spec/treequel/model/objectclass_spec.rb
89
+ - spec/treequel/model_spec.rb
90
+ - spec/treequel/monkeypatches_spec.rb
65
91
  - spec/treequel/schema/attributetype_spec.rb
66
92
  - spec/treequel/schema/ldapsyntax_spec.rb
67
93
  - spec/treequel/schema/matchingrule_spec.rb
@@ -69,7 +95,6 @@ files:
69
95
  - spec/treequel/schema/objectclass_spec.rb
70
96
  - spec/treequel/schema/table_spec.rb
71
97
  - spec/treequel/schema_spec.rb
72
- - spec/treequel/utils_spec.rb
73
98
  - spec/treequel_spec.rb
74
99
  - spec/lib/constants.rb
75
100
  - spec/lib/control_behavior.rb
@@ -89,6 +114,8 @@ files:
89
114
  - lib/treequel/exceptions.rb
90
115
  - lib/treequel/filter.rb
91
116
  - lib/treequel/mixins.rb
117
+ - lib/treequel/model/objectclass.rb
118
+ - lib/treequel/model.rb
92
119
  - lib/treequel/monkeypatches.rb
93
120
  - lib/treequel/schema/attributetype.rb
94
121
  - lib/treequel/schema/ldapsyntax.rb
@@ -137,23 +164,27 @@ rdoc_options:
137
164
  require_paths:
138
165
  - lib
139
166
  required_ruby_version: !ruby/object:Gem::Requirement
167
+ none: false
140
168
  requirements:
141
169
  - - ">="
142
170
  - !ruby/object:Gem::Version
171
+ hash: 3
143
172
  segments:
144
173
  - 0
145
174
  version: "0"
146
175
  required_rubygems_version: !ruby/object:Gem::Requirement
176
+ none: false
147
177
  requirements:
148
178
  - - ">="
149
179
  - !ruby/object:Gem::Version
180
+ hash: 3
150
181
  segments:
151
182
  - 0
152
183
  version: "0"
153
184
  requirements:
154
185
  - ldap >=0
155
186
  rubyforge_project:
156
- rubygems_version: 1.3.6
187
+ rubygems_version: 1.3.7
157
188
  signing_key:
158
189
  specification_version: 3
159
190
  summary: An honest LDAP library
@@ -168,6 +199,9 @@ test_files:
168
199
  - spec/treequel/directory_spec.rb
169
200
  - spec/treequel/filter_spec.rb
170
201
  - spec/treequel/mixins_spec.rb
202
+ - spec/treequel/model/objectclass_spec.rb
203
+ - spec/treequel/model_spec.rb
204
+ - spec/treequel/monkeypatches_spec.rb
171
205
  - spec/treequel/schema/attributetype_spec.rb
172
206
  - spec/treequel/schema/ldapsyntax_spec.rb
173
207
  - spec/treequel/schema/matchingrule_spec.rb
@@ -175,7 +209,6 @@ test_files:
175
209
  - spec/treequel/schema/objectclass_spec.rb
176
210
  - spec/treequel/schema/table_spec.rb
177
211
  - spec/treequel/schema_spec.rb
178
- - spec/treequel/utils_spec.rb
179
212
  - spec/treequel_spec.rb
180
213
  - spec/lib/constants.rb
181
214
  - spec/lib/control_behavior.rb
metadata.gz.sig ADDED
Binary file
@@ -1,49 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- BEGIN {
4
- require 'pathname'
5
- basedir = Pathname.new( __FILE__ ).dirname.parent.parent
6
-
7
- libdir = basedir + "lib"
8
-
9
- $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
10
- }
11
-
12
- begin
13
- require 'spec'
14
- require 'spec/lib/constants'
15
- require 'spec/lib/helpers'
16
-
17
- require 'treequel'
18
- require 'treequel/utils'
19
- rescue LoadError
20
- unless Object.const_defined?( :Gem )
21
- require 'rubygems'
22
- retry
23
- end
24
- raise
25
- end
26
-
27
-
28
- include Treequel::TestConstants
29
- # include Treequel::Constants
30
-
31
- #####################################################################
32
- ### C O N T E X T S
33
- #####################################################################
34
-
35
- describe Treequel, "utilities" do
36
- include Treequel::SpecHelpers
37
-
38
- before( :all ) do
39
- setup_logging( :fatal )
40
- end
41
-
42
- after( :all ) do
43
- reset_logging()
44
- end
45
-
46
- end
47
-
48
-
49
- # vim: set nosta noet ts=4 sw=4: