treequel 1.8.1 → 1.8.2

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,8 +1,133 @@
1
+ 2011-12-19 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ * .rspec-tm, .tm_properties, lib/treequel/model.rb,
4
+ spec/treequel/model_spec.rb:
5
+ Combining ADD and DELETE mods
6
+ [6697b95ce945] [github/master, tip]
7
+
8
+ 2011-12-15 Michael Granger <ged@FaerieMUD.org>
9
+
10
+ * lib/treequel/schema.rb:
11
+ Don't include non-lengthable ivars in
12
+ Treequel::Schema#ivar_descriptions (thanks to Ben Bleything for
13
+ reporting this).
14
+ [5738015684e7]
15
+
16
+ * .hgignore:
17
+ Adding .rbx directory to the ignorefile
18
+ [919ed9227138]
19
+
20
+ * History.rdoc:
21
+ Whitespace fix for the History file
22
+ [d568255e82eb]
23
+
24
+ 2011-12-05 Michael Granger <ged@FaerieMUD.org>
25
+
26
+ * .hgtags:
27
+ Added tag v1.8.1 for changeset 07b44d5fd4bb
28
+ [035e391ccb4b]
29
+
30
+ * .hgsigs:
31
+ Added signature for changeset 507d14777c50
32
+ [07b44d5fd4bb] [v1.8.1]
33
+
34
+ * History.rdoc, lib/treequel.rb:
35
+ Bumped patch version, updated history.
36
+ [507d14777c50]
37
+
38
+ * lib/treequel/branch.rb, spec/treequel/branch_spec.rb:
39
+ Fixed #eql? implementation by using the hash-value instead of just
40
+ comparing DNs.
41
+ [7871d9c35a87]
42
+
43
+ * .hgtags:
44
+ Added tag v1.8.0 for changeset 0f8e4ce2a212
45
+ [48553b84ad54]
46
+
47
+ * .hgsigs:
48
+ Added signature for changeset fa0d500e2dee
49
+ [0f8e4ce2a212] [v1.8.0]
50
+
51
+ * History.rdoc, lib/treequel.rb:
52
+ Bumped minor version, updated History.
53
+ [fa0d500e2dee]
54
+
55
+ * lib/treequel/branch.rb, spec/treequel/branch_spec.rb:
56
+ Implemented #eql? for Treequel::Branch for correct behavior in
57
+ Array#-, Hash#[], etc.
58
+ [e73641e1fa16]
59
+
60
+ 2011-11-30 Michael Granger <ged@FaerieMUD.org>
61
+
62
+ * .hgtags:
63
+ Added tag v1.7.2 for changeset af0b6ddd247c
64
+ [f713aa551e39]
65
+
66
+ * .hgsigs:
67
+ Added signature for changeset a8a3bca987c3
68
+ [af0b6ddd247c] [v1.7.2]
69
+
70
+ * History.rdoc, lib/treequel.rb:
71
+ Bumped patch version, updated history.
72
+ [a8a3bca987c3]
73
+
74
+ 2011-11-29 Michael Granger <ged@FaerieMUD.org>
75
+
76
+ * lib/treequel/model.rb, spec/treequel/model_spec.rb:
77
+ Add a workaround for Time objects used in generalizedTime fields,
78
+ since Time has a #to_ary.
79
+ [dc2d14ae5880]
80
+
81
+ * bin/treewhat:
82
+ Columns down in treewhat output instead of columns across
83
+ [194f63cb6a77]
84
+
85
+ * lib/treequel/branch.rb, spec/treequel/branch_spec.rb:
86
+ Fix inheritance of syntax for datatype conversion
87
+ [e316b9a3b910]
88
+
89
+ 2011-11-28 Michael Granger <ged@FaerieMUD.org>
90
+
91
+ * .hgtags:
92
+ Added tag v1.7.1 for changeset d6c10cbe2e3f
93
+ [6ef1954736f0]
94
+
95
+ * .hgsigs:
96
+ Added signature for changeset d2ba344f87e8
97
+ [d6c10cbe2e3f] [v1.7.1]
98
+
99
+ * History.rdoc, lib/treequel.rb:
100
+ Bumped patch version, updated History.
101
+ [d2ba344f87e8]
102
+
103
+ * README.rdoc:
104
+ Eliminated examples section from the README
105
+ [fbf90820a12a]
106
+
107
+ * lib/treequel/filter.rb, spec/treequel/filter_spec.rb:
108
+ Modified filter expressions to eliminate unnecessary ORing
109
+ [0799cc9deb8e]
110
+
111
+ * lib/treequel/model.rb, spec/treequel/model_spec.rb:
112
+ Efficiency fixes for Treequel::Model#modifications
113
+ [2792e665949d]
114
+
115
+ * lib/treequel/model.rb,
116
+ spec/treequel/model/schemavalidations_spec.rb,
117
+ spec/treequel/model_spec.rb:
118
+ Fixing missing DN attribute/s on Treequel::Model objects created via
119
+ attribute traversal methods.
120
+ [30b3df5c2363]
121
+
122
+ * lib/treequel/model/errors.rb:
123
+ Log added errors at ERROR level
124
+ [90bea31f4b1a]
125
+
1
126
  2011-11-09 Michael Granger <ged@FaerieMUD.org>
2
127
 
3
128
  * .hgtags:
4
129
  Added tag v1.7.0 for changeset 367d9982ea67
5
- [74e7687d2837] [tip]
130
+ [74e7687d2837]
6
131
 
7
132
  * .hgsigs:
8
133
  Added signature for changeset c5b83ddad969
@@ -20,7 +145,7 @@
20
145
  lib/treequel/schema/attributetype.rb,
21
146
  lib/treequel/schema/objectclass.rb, lib/treequel/utils.rb:
22
147
  De-Yarded
23
- [c5b83ddad969] [github/master]
148
+ [c5b83ddad969]
24
149
 
25
150
  * Rakefile:
26
151
  Require 'rake/clean' for the CLOBBER FileList
data/History.rdoc CHANGED
@@ -1,3 +1,12 @@
1
+ == v1.8.2 [2011-12-19] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ - Fixing Treequel::Model#create by merging ADD and DELETE mods
4
+ generated by #modifications.
5
+ - Don't include non-lengthable ivars in
6
+ Treequel::Schema#ivar_descriptions (thanks to Ben Bleything for
7
+ reporting this).
8
+
9
+
1
10
  == v1.8.1 [2011-12-05] Michael Granger <ged@FaerieMUD.org>
2
11
 
3
12
  - Fixed #eql? implementation by using the hash-value instead of just
@@ -8,6 +17,7 @@
8
17
 
9
18
  - Added signature for changeset fa0d500e2dee
10
19
 
20
+
11
21
  == v1.8.0 [2011-12-05] Michael Granger <ged@FaerieMUD.org>
12
22
 
13
23
  - Implemented #eql? for Treequel::Branch for correct behavior in
@@ -438,26 +438,37 @@ class Treequel::Model < Treequel::Branch
438
438
  self.log.debug " comparing %s values to entry: %p vs. %p" %
439
439
  [ attribute, values, entry_values ]
440
440
 
441
+ mods = Hash.new {|h,k| h[k] = [] }
441
442
  Diff::LCS.sdiff( entry_values.sort, values.sort ) do |change|
442
443
  if change.adding?
443
444
  self.log.debug " found an addition: %p" % [ change ]
444
- mods << LDAP::Mod.new( LDAP::LDAP_MOD_ADD, attribute, [change.new_element] )
445
+ mods[:add] << change.new_element
445
446
 
446
447
  elsif change.changed?
447
448
  self.log.debug " found a modification: %p" % [ change ]
448
- mods << LDAP::Mod.new( LDAP::LDAP_MOD_REPLACE, attribute,
449
- [change.old_element, change.new_element] )
449
+ mods[:replace] << [ change.old_element, change.new_element ]
450
450
 
451
451
  elsif change.deleting?
452
452
  self.log.debug " found a deletion: %p" % [ change ]
453
- mods << LDAP::Mod.new( LDAP::LDAP_MOD_DELETE, attribute, [change.old_element] )
453
+ mods[:del] << change.old_element
454
454
  end
455
455
  end
456
456
 
457
457
  self.log.debug " attribute %p has modifications: %p" %
458
458
  [ attribute, mods ] unless mods.empty?
459
459
 
460
- return mods
460
+ # Now turn all of the modifications into LDAP::Mod objects, one per modified
461
+ # attribute
462
+ return mods.collect do |kind, values|
463
+ case kind
464
+ when :add
465
+ LDAP::Mod.new( LDAP::LDAP_MOD_ADD, attribute, values )
466
+ when :replace
467
+ values.collect {|pair| LDAP::Mod.new(LDAP::LDAP_MOD_REPLACE, attribute, pair) }
468
+ when :del
469
+ LDAP::Mod.new( LDAP::LDAP_MOD_DELETE, attribute, values )
470
+ end
471
+ end.flatten.compact
461
472
  end
462
473
 
463
474
 
@@ -349,6 +349,7 @@ class Treequel::Schema
349
349
  ### Return descriptions of the schema's artifacts, and how many of each it has.
350
350
  def ivar_descriptions
351
351
  self.instance_variables.sort.collect do |ivar|
352
+ next unless ivar.respond_to?( :length )
352
353
  len = self.instance_variable_get( ivar ).length
353
354
  "%d %s" % [ len, ivar.to_s.gsub(/_/, ' ')[1..-1] ]
354
355
  end
data/lib/treequel.rb CHANGED
@@ -26,10 +26,10 @@ end
26
26
  module Treequel
27
27
 
28
28
  # Library version
29
- VERSION = '1.8.1'
29
+ VERSION = '1.8.2'
30
30
 
31
31
  # VCS revision
32
- REVISION = %q$Revision: 507d14777c50 $
32
+ REVISION = %q$Revision: 343aab59c84b $
33
33
 
34
34
  # Common paths for ldap.conf
35
35
  COMMON_LDAP_CONF_PATHS = %w[
@@ -715,9 +715,7 @@ describe Treequel::Model do
715
715
  ldap_mod_add("gidNumber", "200"),
716
716
  ldap_mod_add("homeDirectory", "/u/j/jrandom"),
717
717
  ldap_mod_add("l", "a forest in England"),
718
- ldap_mod_add("objectClass", "inetOrgPerson"),
719
- ldap_mod_add("objectClass", "person"),
720
- ldap_mod_add("objectClass", "posixAccount"),
718
+ ldap_mod_add("objectClass", "inetOrgPerson", "person", "posixAccount"),
721
719
  ldap_mod_add("sn", "Hacker"),
722
720
  ldap_mod_add("uid", "jrandom"),
723
721
  ldap_mod_add("uidNumber", "1121")
data.tar.gz.sig CHANGED
@@ -1,2 +1 @@
1
- ��jV����m�����H���|��p��%�j���pqإ�����*��
2
- b74@�e�0�.�z��}��G|���i�z��H�2�E�#��k�MU�<Y�u���[3�XH� �V����H���,��lB] .O�Ԃ�t�vW�<o��j�Lj�/�����)��=4�" i��v�-��+��l���4
1
+ �S�UQ�:U�?d4"6{��}eu��M��G�*�*E����Oϒ���𶍽�sK?l��ъ��p��\'h��ng�h��9e�]�J�o"�n]s���OyE� ��2z�`N�և�%S����&��s� 5�]�<���as���۽z��L��0�Hjeg�4�D7y���,'�`�7���!�>� �Ҙ��9s��nq�ns�7��},�
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: treequel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.1
4
+ version: 1.8.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -49,11 +49,11 @@ cert_chain:
49
49
  -----END CERTIFICATE-----
50
50
 
51
51
  '
52
- date: 2011-12-05 00:00:00.000000000 Z
52
+ date: 2011-12-20 00:00:00.000000000 Z
53
53
  dependencies:
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: ruby-ldap
56
- requirement: &70360852962800 !ruby/object:Gem::Requirement
56
+ requirement: &70151954119220 !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
59
  - - ~>
@@ -61,10 +61,10 @@ dependencies:
61
61
  version: '0.9'
62
62
  type: :runtime
63
63
  prerelease: false
64
- version_requirements: *70360852962800
64
+ version_requirements: *70151954119220
65
65
  - !ruby/object:Gem::Dependency
66
66
  name: diff-lcs
67
- requirement: &70360852962380 !ruby/object:Gem::Requirement
67
+ requirement: &70151954118800 !ruby/object:Gem::Requirement
68
68
  none: false
69
69
  requirements:
70
70
  - - ~>
@@ -72,10 +72,10 @@ dependencies:
72
72
  version: '1.1'
73
73
  type: :runtime
74
74
  prerelease: false
75
- version_requirements: *70360852962380
75
+ version_requirements: *70151954118800
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: hoe-mercurial
78
- requirement: &70360852961960 !ruby/object:Gem::Requirement
78
+ requirement: &70151954118240 !ruby/object:Gem::Requirement
79
79
  none: false
80
80
  requirements:
81
81
  - - ~>
@@ -83,10 +83,10 @@ dependencies:
83
83
  version: 1.3.1
84
84
  type: :development
85
85
  prerelease: false
86
- version_requirements: *70360852961960
86
+ version_requirements: *70151954118240
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: hoe-manualgen
89
- requirement: &70360852961500 !ruby/object:Gem::Requirement
89
+ requirement: &70151954117640 !ruby/object:Gem::Requirement
90
90
  none: false
91
91
  requirements:
92
92
  - - ~>
@@ -94,10 +94,10 @@ dependencies:
94
94
  version: 0.2.0
95
95
  type: :development
96
96
  prerelease: false
97
- version_requirements: *70360852961500
97
+ version_requirements: *70151954117640
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: hoe-highline
100
- requirement: &70360852961080 !ruby/object:Gem::Requirement
100
+ requirement: &70151954117140 !ruby/object:Gem::Requirement
101
101
  none: false
102
102
  requirements:
103
103
  - - ~>
@@ -105,10 +105,10 @@ dependencies:
105
105
  version: 0.0.1
106
106
  type: :development
107
107
  prerelease: false
108
- version_requirements: *70360852961080
108
+ version_requirements: *70151954117140
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: rspec
111
- requirement: &70360852960620 !ruby/object:Gem::Requirement
111
+ requirement: &70151954116680 !ruby/object:Gem::Requirement
112
112
  none: false
113
113
  requirements:
114
114
  - - ~>
@@ -116,10 +116,10 @@ dependencies:
116
116
  version: '2.7'
117
117
  type: :development
118
118
  prerelease: false
119
- version_requirements: *70360852960620
119
+ version_requirements: *70151954116680
120
120
  - !ruby/object:Gem::Dependency
121
121
  name: ruby-termios
122
- requirement: &70360852960200 !ruby/object:Gem::Requirement
122
+ requirement: &70151954116240 !ruby/object:Gem::Requirement
123
123
  none: false
124
124
  requirements:
125
125
  - - ~>
@@ -127,10 +127,10 @@ dependencies:
127
127
  version: '0.9'
128
128
  type: :development
129
129
  prerelease: false
130
- version_requirements: *70360852960200
130
+ version_requirements: *70151954116240
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: ruby-terminfo
133
- requirement: &70360852959780 !ruby/object:Gem::Requirement
133
+ requirement: &70151954115820 !ruby/object:Gem::Requirement
134
134
  none: false
135
135
  requirements:
136
136
  - - ~>
@@ -138,10 +138,10 @@ dependencies:
138
138
  version: '0.1'
139
139
  type: :development
140
140
  prerelease: false
141
- version_requirements: *70360852959780
141
+ version_requirements: *70151954115820
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: columnize
144
- requirement: &70360852959360 !ruby/object:Gem::Requirement
144
+ requirement: &70151954115400 !ruby/object:Gem::Requirement
145
145
  none: false
146
146
  requirements:
147
147
  - - ~>
@@ -149,10 +149,10 @@ dependencies:
149
149
  version: '0.3'
150
150
  type: :development
151
151
  prerelease: false
152
- version_requirements: *70360852959360
152
+ version_requirements: *70151954115400
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: sysexits
155
- requirement: &70360852958940 !ruby/object:Gem::Requirement
155
+ requirement: &70151954114960 !ruby/object:Gem::Requirement
156
156
  none: false
157
157
  requirements:
158
158
  - - ~>
@@ -160,10 +160,10 @@ dependencies:
160
160
  version: '1.0'
161
161
  type: :development
162
162
  prerelease: false
163
- version_requirements: *70360852958940
163
+ version_requirements: *70151954114960
164
164
  - !ruby/object:Gem::Dependency
165
165
  name: sequel
166
- requirement: &70360852958520 !ruby/object:Gem::Requirement
166
+ requirement: &70151954114520 !ruby/object:Gem::Requirement
167
167
  none: false
168
168
  requirements:
169
169
  - - ~>
@@ -171,10 +171,10 @@ dependencies:
171
171
  version: '3.20'
172
172
  type: :development
173
173
  prerelease: false
174
- version_requirements: *70360852958520
174
+ version_requirements: *70151954114520
175
175
  - !ruby/object:Gem::Dependency
176
176
  name: hoe
177
- requirement: &70360852958100 !ruby/object:Gem::Requirement
177
+ requirement: &70151954114100 !ruby/object:Gem::Requirement
178
178
  none: false
179
179
  requirements:
180
180
  - - ~>
@@ -182,7 +182,7 @@ dependencies:
182
182
  version: '2.12'
183
183
  type: :development
184
184
  prerelease: false
185
- version_requirements: *70360852958100
185
+ version_requirements: *70151954114100
186
186
  description: ! "Treequel is an LDAP toolkit for Ruby. It is intended to allow quick,
187
187
  easy\naccess to LDAP directories in a manner consistent with LDAP's hierarchical,\nfree-form
188
188
  nature. \n\nIt's inspired by and modeled after [Sequel](http://sequel.rubyforge.org/),
metadata.gz.sig CHANGED
Binary file