treequel 1.4.4 → 1.5.0pre445

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
data/ChangeLog CHANGED
@@ -1,8 +1,44 @@
1
+ 2011-02-22 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ * lib/treequel.rb, lib/treequel/branch.rb, lib/treequel/model.rb,
4
+ lib/treequel/model/objectclass.rb,
5
+ spec/treequel/model/objectclass_spec.rb,
6
+ spec/treequel/model_spec.rb:
7
+ Add a default directory to Treequel::Model for creating and
8
+ searching
9
+ [fb6b6fc03dea] [github/master, master, tip]
10
+
11
+ * lib/treequel/mixins.rb, spec/treequel/mixins_spec.rb:
12
+ Fix delegation to a method that takes a block for
13
+ Treequel::Delegation
14
+ [23ea792e2b86]
15
+
16
+ 2011-02-16 Michael Granger <ged@FaerieMUD.org>
17
+
18
+ * lib/treequel/branch.rb, lib/treequel/branchset.rb,
19
+ spec/lib/constants.rb, spec/lib/helpers.rb,
20
+ spec/treequel/branch_spec.rb, spec/treequel/branchset_spec.rb,
21
+ spec/treequel/model_spec.rb:
22
+ * Consistently delete the DN from the entry hash when constructing
23
+ branches and model objects
24
+ * Fix Treequel::Branch#-
25
+ * Fix Treequel::Branchset#to_hash
26
+ [77e06632b26c]
27
+
28
+ * spec/lib/helpers.rb:
29
+ Fix the fixture function -- use the passed-in conn object instead of
30
+ @conn
31
+ [6e66813a8c77]
32
+
1
33
  2011-02-10 Michael Granger <ged@FaerieMUD.org>
2
34
 
35
+ * Rakefile, lib/treequel.rb:
36
+ Make dependencies not so pessimistic.
37
+ [1a8e08a49df5]
38
+
3
39
  * .hgtags:
4
40
  Added tag v1.4.4 for changeset c8b3e3f8e9b3
5
- [706bf854263e] [master, tip]
41
+ [706bf854263e]
6
42
 
7
43
  * .hgsigs:
8
44
  Added signature for changeset 8101dde32328
@@ -138,18 +174,12 @@
138
174
  Merged with 411:ddbb3c3bdd00
139
175
  [ba7895d4e64b]
140
176
 
141
- 2011-01-17 Michael Granger <ged@FaerieMUD.org>
142
-
143
- * History.md:
144
- Updated History
145
- [9c4db65b40d7]
146
-
147
177
  2011-01-18 Michael Granger <ged@FaerieMUD.org>
148
178
 
149
179
  * manual/layouts/default.erb, manual/resources/css/manual.css,
150
180
  manual/src/index.page:
151
181
  Updating the manual.
152
- [ddbb3c3bdd00] [github/master]
182
+ [ddbb3c3bdd00]
153
183
 
154
184
  * LICENSE:
155
185
  I meant the README.md file. NOW update the LICENSE file
@@ -200,8 +230,18 @@
200
230
  Adding missing dependency
201
231
  [eaf742c5b836]
202
232
 
233
+ 2011-01-14 Michael Granger <ged@FaerieMUD.org>
234
+
235
+ * manual/src/models.page:
236
+ Fixed some invalid api links in the models section
237
+ [7759040905e0]
238
+
203
239
  2011-01-17 Michael Granger <ged@FaerieMUD.org>
204
240
 
241
+ * History.md:
242
+ Updated History
243
+ [9c4db65b40d7]
244
+
205
245
  * .hgtags:
206
246
  Added tag v1.3.1 for changeset a6ea030fc88f
207
247
  [4caac8976d00]
@@ -216,12 +256,6 @@
216
256
  attributes to sometimes be doubled.
217
257
  [fb7ec4e38f66]
218
258
 
219
- 2011-01-14 Michael Granger <ged@FaerieMUD.org>
220
-
221
- * manual/src/models.page:
222
- Fixed some invalid api links in the models section
223
- [7759040905e0]
224
-
225
259
  2011-01-13 Michael Granger <ged@FaerieMUD.org>
226
260
 
227
261
  * .hgtags:
@@ -316,14 +350,14 @@
316
350
  Automated merge with ssh://deveiate/Treequel
317
351
  [62e7348050eb]
318
352
 
319
- * bin/treequel, lib/treequel/model/objectclass.rb:
320
- Aesthetic cleanup
321
- [78e65cb8f30a]
322
-
323
353
  * bin/treequel:
324
354
  More logging constant fixes for the treequel shell.
325
355
  [6e159f32ed07]
326
356
 
357
+ * bin/treequel, lib/treequel/model/objectclass.rb:
358
+ Aesthetic cleanup
359
+ [78e65cb8f30a]
360
+
327
361
  2011-01-04 Michael Granger <ged@FaerieMUD.org>
328
362
 
329
363
  * bin/treequel:
@@ -735,6 +769,13 @@
735
769
  * Merging with 316:33a7dcde80a1
736
770
  [72dd41272f6f]
737
771
 
772
+ * .hgsubstate, lib/treequel/model.rb, spec/treequel/branch_spec.rb,
773
+ spec/treequel/model_spec.rb, spec/treequel/monkeypatches_spec.rb:
774
+ Spec fixes for RSpec 2.0
775
+ * Fix RSpec regex workaround for Treequel::Model#respond_to?
776
+ * Fix monkeypatch Time tests for running outside of PST8PDT
777
+ [9f9460125077]
778
+
738
779
  2010-11-09 Michael Granger <ged@FaerieMUD.org>
739
780
 
740
781
  * .hgsub, .hgsubstate:
@@ -745,17 +786,6 @@
745
786
  Fixing subrepo corruption caused by rollback
746
787
  [fc9ae9f5b034]
747
788
 
748
- 2010-11-11 Michael Granger <ged@FaerieMUD.org>
749
-
750
- * .hgsubstate, lib/treequel/model.rb, spec/treequel/branch_spec.rb,
751
- spec/treequel/model_spec.rb, spec/treequel/monkeypatches_spec.rb:
752
- Spec fixes for RSpec 2.0
753
- * Fix RSpec regex workaround for Treequel::Model#respond_to?
754
- * Fix monkeypatch Time tests for running outside of PST8PDT
755
- [9f9460125077]
756
-
757
- 2010-11-09 Michael Granger <ged@FaerieMUD.org>
758
-
759
789
  * README:
760
790
  Merged with 310:cc7c63ff15a0
761
791
  [c1b750e4e9fc]
@@ -771,18 +801,18 @@
771
801
  test failure
772
802
  [380662d385e0]
773
803
 
774
- 2010-11-08 Michael Granger <ged@FaerieMUD.org>
775
-
776
- * bin/treequel:
777
- Fixed treequel shell's cp to support relative and absolute DNs
778
- [7f20ab74d6b1]
779
-
780
804
  2010-11-03 Michael Granger <ged@FaerieMUD.org>
781
805
 
782
806
  * README, README.md:
783
807
  Converting the README to Markdown
784
808
  [cc7c63ff15a0]
785
809
 
810
+ 2010-11-08 Michael Granger <ged@FaerieMUD.org>
811
+
812
+ * bin/treequel:
813
+ Fixed treequel shell's cp to support relative and absolute DNs
814
+ [7f20ab74d6b1]
815
+
786
816
  2010-10-22 Michael Granger <ged@FaerieMUD.org>
787
817
 
788
818
  * lib/treequel/schema.rb, spec/lib/control_behavior.rb,
@@ -1454,12 +1484,6 @@
1454
1484
  * Re-sorted the OID constants to be in OID order
1455
1485
  [8b2fb7415412]
1456
1486
 
1457
- 2010-01-13 Michael Granger <ged@FaerieMUD.org>
1458
-
1459
- * bin/treequel:
1460
- Make treequel shell's 'cat' command error for non-existant entries
1461
- [84087b01d473]
1462
-
1463
1487
  2010-01-24 Michael Granger <ged@FaerieMUD.org>
1464
1488
 
1465
1489
  * bin/treequel:
@@ -1468,6 +1492,10 @@
1468
1492
 
1469
1493
  2010-01-13 Michael Granger <ged@FaerieMUD.org>
1470
1494
 
1495
+ * bin/treequel:
1496
+ Make treequel shell's 'cat' command error for non-existant entries
1497
+ [84087b01d473]
1498
+
1471
1499
  * bin/treequel:
1472
1500
  Fix the 'grep' command in the Treequel shell.
1473
1501
  [669a09149f48]
@@ -1498,6 +1526,19 @@
1498
1526
  Updated build system
1499
1527
  [00ac1bc4e917]
1500
1528
 
1529
+ 2009-12-22 Michael Granger <ged@FaerieMUD.org>
1530
+
1531
+ * bin/treequel:
1532
+ Reworked LDIF display colors in the shell to be more visible.
1533
+ [d77a0bf26034]
1534
+
1535
+ * bin/treequel:
1536
+ Make the treequel shell fall back to plain connect (with a warning)
1537
+ if TLS fails.
1538
+ [9aeccec1ee84]
1539
+
1540
+ 2010-01-07 Michael Granger <ged@FaerieMUD.org>
1541
+
1501
1542
  * bin/treequel, lib/treequel/branch.rb, lib/treequel/constants.rb,
1502
1543
  lib/treequel/utils.rb:
1503
1544
  Improvements to the treequel shell, fixes for 1.9.1.
@@ -1519,15 +1560,6 @@
1519
1560
 
1520
1561
  2009-12-22 Michael Granger <ged@FaerieMUD.org>
1521
1562
 
1522
- * bin/treequel:
1523
- Reworked LDIF display colors in the shell to be more visible.
1524
- [d77a0bf26034]
1525
-
1526
- * bin/treequel:
1527
- Make the treequel shell fall back to plain connect (with a warning)
1528
- if TLS fails.
1529
- [9aeccec1ee84]
1530
-
1531
1563
  * examples/ldap-monitor.rb, examples/ldap-
1532
1564
  monitor/public/css/master.css, examples/ldap-
1533
1565
  monitor/public/images/card_small.png, examples/ldap-
@@ -1548,6 +1580,27 @@
1548
1580
  Automated merge with ssh://hg@deveiate/Treequel
1549
1581
  [3bdd645530fe]
1550
1582
 
1583
+ 2009-12-18 Michael Granger <ged@FaerieMUD.org>
1584
+
1585
+ * Merged with 5fd4033e1556
1586
+ [9571c9d8e4dd]
1587
+
1588
+ 2009-12-17 Michael Granger <ged@FaerieMUD.org>
1589
+
1590
+ * docs/openldap-oids.txt, lib/treequel/constants.rb,
1591
+ lib/treequel/controls/contentsync.rb,
1592
+ lib/treequel/controls/persistentsearch.rb,
1593
+ lib/treequel/directory.rb:
1594
+ More controls work, started several more control modules.
1595
+ * Adding a breakdown of all the controls the OpenLDAP server I have
1596
+ has, so I know which controls I can test against.
1597
+ * Added some control constants.
1598
+ * Added the ContentSyncControl and the PersistentSearchControl.
1599
+ * Added a Directory#supported_controls method.
1600
+ [ffc2ebacdfd0]
1601
+
1602
+ 2009-12-22 Michael Granger <ged@FaerieMUD.org>
1603
+
1551
1604
  * bin/treequel, examples/ldap-monitor.rb, examples/ldap-
1552
1605
  monitor/public/css/master.css, examples/ldap-
1553
1606
  monitor/public/images/card_small.png, examples/ldap-
@@ -1576,25 +1629,6 @@
1576
1629
  * Bumped the version to 1.0.2.
1577
1630
  [31c326800cc6]
1578
1631
 
1579
- 2009-12-18 Michael Granger <ged@FaerieMUD.org>
1580
-
1581
- * Merged with 5fd4033e1556
1582
- [9571c9d8e4dd]
1583
-
1584
- 2009-12-17 Michael Granger <ged@FaerieMUD.org>
1585
-
1586
- * docs/openldap-oids.txt, lib/treequel/constants.rb,
1587
- lib/treequel/controls/contentsync.rb,
1588
- lib/treequel/controls/persistentsearch.rb,
1589
- lib/treequel/directory.rb:
1590
- More controls work, started several more control modules.
1591
- * Adding a breakdown of all the controls the OpenLDAP server I have
1592
- has, so I know which controls I can test against.
1593
- * Added some control constants.
1594
- * Added the ContentSyncControl and the PersistentSearchControl.
1595
- * Added a Directory#supported_controls method.
1596
- [ffc2ebacdfd0]
1597
-
1598
1632
  2009-12-16 Michael Granger <ged@FaerieMUD.org>
1599
1633
 
1600
1634
  * Rakefile, lib/treequel/mixins.rb, project.yml:
@@ -2689,16 +2723,6 @@
2689
2723
  Merged. Someday I'll get the hang of this.
2690
2724
  [a5e715f5f877]
2691
2725
 
2692
- 2009-07-29 Michael Granger <ged@FaerieMUD.org>
2693
-
2694
- * .hgignore, Rakefile, docs/manual/src/index.page,
2695
- lib/treequel/filter.rb, project.yml, spec/treequel/filter_spec.rb:
2696
- * Adding coverage cache to the ignorefile.
2697
- * Added ruby-ldap dependency. Yay!
2698
- * More work on the manual.
2699
- * Made Treequel::Branch#filter treat a Hash like an array of tuples.
2700
- [46e6dce0c011]
2701
-
2702
2726
  2009-07-28 Michael Granger <ged@FaerieMUD.org>
2703
2727
 
2704
2728
  * .hgignore, Rakefile:
@@ -2709,6 +2733,16 @@
2709
2733
  Manual rewording, .hgignore updates
2710
2734
  [89f74035c67d]
2711
2735
 
2736
+ 2009-07-29 Michael Granger <ged@FaerieMUD.org>
2737
+
2738
+ * .hgignore, Rakefile, docs/manual/src/index.page,
2739
+ lib/treequel/filter.rb, project.yml, spec/treequel/filter_spec.rb:
2740
+ * Adding coverage cache to the ignorefile.
2741
+ * Added ruby-ldap dependency. Yay!
2742
+ * More work on the manual.
2743
+ * Made Treequel::Branch#filter treat a Hash like an array of tuples.
2744
+ [46e6dce0c011]
2745
+
2712
2746
  2009-07-27 Michael Granger <ged@FaerieMUD.org>
2713
2747
 
2714
2748
  * .hgignore, Rakefile:
@@ -2720,10 +2754,6 @@
2720
2754
 
2721
2755
  2009-07-24 Michael Granger <ged@FaerieMUD.org>
2722
2756
 
2723
- * .hgsub, .hgsubstate:
2724
- Unlinking the subrepo, as it doesn't behave well enough quite yet.
2725
- [fc3c3bac2c22]
2726
-
2727
2757
  * .hgsub, .hgsubstate:
2728
2758
  Merging build system fixes
2729
2759
  [b7a919b2ad5d]
@@ -2736,6 +2766,10 @@
2736
2766
  Removing subrepo, as it doesn't work quite the way I'd hoped.
2737
2767
  [f631900a9ad8] <build-system-fixes>
2738
2768
 
2769
+ * .hgsub, .hgsubstate:
2770
+ Unlinking the subrepo, as it doesn't behave well enough quite yet.
2771
+ [fc3c3bac2c22]
2772
+
2739
2773
  * .hgignore, .hgsubstate, Rakefile, Rakefile.local, project.yml:
2740
2774
  Initial commit of Mercurial-based tasks
2741
2775
  [65236b2101e5] <build-system-fixes>
data/Rakefile CHANGED
@@ -17,15 +17,16 @@ hoespec = Hoe.spec 'treequel' do
17
17
  self.developer 'Mahlon E. Smith', 'mahlon@martini.nu'
18
18
 
19
19
  self.extra_deps.push *{
20
- 'ruby-ldap' => '~> 0.9.11',
21
- 'diff-lcs' => '~> 1.1.2',
20
+ 'ruby-ldap' => '~> 0.9',
21
+ 'diff-lcs' => '~> 1.1',
22
22
  }
23
23
  self.extra_dev_deps.push *{
24
- 'rspec' => '~> 2.4.0',
25
- 'ruby-termios' => '~> 0.9.6',
26
- 'ruby-terminfo' => '~> 0.1.1',
27
- 'columnize' => '~> 0.3.1',
28
- 'sysexits' => '~> 1.0.2',
24
+ 'rspec' => '~> 2.4',
25
+ 'ruby-termios' => '~> 0.9',
26
+ 'ruby-terminfo' => '~> 0.1',
27
+ 'columnize' => '~> 0.3',
28
+ 'sysexits' => '~> 1.0',
29
+ 'sequel' => '~> 3.20',
29
30
  }
30
31
 
31
32
  self.spec_extras[:licenses] = ["BSD"]
@@ -33,7 +34,7 @@ hoespec = Hoe.spec 'treequel' do
33
34
  "If you want to use the included 'treequel' LDAP shell, you'll need to install",
34
35
  "the following libraries as well:",
35
36
  '',
36
- " - termios",
37
+ " - ruby-termios",
37
38
  " - ruby-terminfo",
38
39
  " - columnize",
39
40
  " - sysexits",
@@ -25,7 +25,7 @@ end
25
25
 
26
26
  # A library for interacting with LDAP modelled after Sequel.
27
27
  #
28
- # @version 1.4.4
28
+ # @version 1.5.0
29
29
  #
30
30
  # @example
31
31
  # # Connect to the directory at the specified URL
@@ -53,10 +53,10 @@ end
53
53
  module Treequel
54
54
 
55
55
  # Library version
56
- VERSION = '1.4.4'
56
+ VERSION = '1.5.0'
57
57
 
58
58
  # VCS revision
59
- REVISION = %q$Revision: 8e97a0ecf0fc $
59
+ REVISION = %q$Revision: fb6b6fc03dea $
60
60
 
61
61
  # Common paths for ldap.conf
62
62
  COMMON_LDAP_CONF_PATHS = %w[
@@ -104,7 +104,7 @@ class Treequel::Branch
104
104
  ######
105
105
 
106
106
  # Delegate some other methods to a new Branchset via the #branchset method
107
- def_method_delegators :branchset, :filter, :scope, :select, :limit, :timeout, :order, :as
107
+ def_method_delegators :branchset, :filter, :scope, :select, :limit, :timeout, :as, :from
108
108
 
109
109
  # Delegate some methods to the Branch's directory via its accessor
110
110
  def_method_delegators :directory, :controls, :referrals
@@ -791,6 +791,7 @@ class Treequel::Branch
791
791
  entry = self.directory.get_entry( self )
792
792
  end
793
793
 
794
+ entry.delete( 'dn' ) if entry
794
795
  self.log.debug " entry is: %p" % [ entry ]
795
796
  return entry
796
797
  end
@@ -203,7 +203,7 @@ class Treequel::Branchset
203
203
  ### @return [Array<Treequel::Branch>]
204
204
  def -( other_object )
205
205
  other_dn = other_object.dn
206
- return self.reject {|branch| branch.dn == other_dn }
206
+ return self.reject {|branch| branch.dn.downcase == other_dn.downcase }
207
207
  end
208
208
 
209
209
 
@@ -269,10 +269,19 @@ class Treequel::Branchset
269
269
  key = branch[ keyattr ]
270
270
  key = key.first if key.respond_to?( :first )
271
271
 
272
- value = valueattr ? branch[ valueattr ] : branch.entry
273
- value = value.first if value.respond_to?( :first )
272
+ # Extract either the valueattr, or the whole entry hash if no valueattr was given.
273
+ if valueattr
274
+ self.log.debug " extracting value for attribute %p" % [ valueattr ]
275
+ if branch[ valueattr ].respond_to?( :first )
276
+ hash[ key ] = branch[ valueattr ].first
277
+ else
278
+ hash[ key ] = branch[ valueattr ]
279
+ end
280
+ else
281
+ self.log.debug " using the whole entry hash (%p)"
282
+ hash[ key ] = branch.entry
283
+ end
274
284
 
275
- hash[ key ] = value
276
285
  hash
277
286
  end
278
287
  end
@@ -82,7 +82,7 @@ module Treequel
82
82
  END_CODE
83
83
  else
84
84
  code = <<-END_CODE
85
- lambda {|*args| self.#{delegate}.#{name}(*args) }
85
+ lambda {|*args,&block| self.#{delegate}.#{name}(*args,&block) }
86
86
  END_CODE
87
87
  end
88
88
 
@@ -104,7 +104,7 @@ module Treequel
104
104
  END_CODE
105
105
  else
106
106
  code = <<-END_CODE
107
- lambda {|*args| #{ivar}.#{name}(*args) }
107
+ lambda {|*args,&block| #{ivar}.#{name}(*args,&block) }
108
108
  END_CODE
109
109
  end
110
110