treequel 1.4.4 → 1.5.0pre445

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 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