treequel 1.8.1 → 1.8.2
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/ChangeLog +127 -2
- data/History.rdoc +10 -0
- data/lib/treequel/model.rb +16 -5
- data/lib/treequel/schema.rb +1 -0
- data/lib/treequel.rb +2 -2
- data/spec/treequel/model_spec.rb +1 -3
- data.tar.gz.sig +1 -2
- metadata +26 -26
- metadata.gz.sig +0 -0
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]
|
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]
|
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
|
data/lib/treequel/model.rb
CHANGED
@@ -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 <<
|
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 <<
|
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 <<
|
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
|
-
|
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
|
|
data/lib/treequel/schema.rb
CHANGED
@@ -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.
|
29
|
+
VERSION = '1.8.2'
|
30
30
|
|
31
31
|
# VCS revision
|
32
|
-
REVISION = %q$Revision:
|
32
|
+
REVISION = %q$Revision: 343aab59c84b $
|
33
33
|
|
34
34
|
# Common paths for ldap.conf
|
35
35
|
COMMON_LDAP_CONF_PATHS = %w[
|
data/spec/treequel/model_spec.rb
CHANGED
@@ -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
|
-
��
|
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.
|
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-
|
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: &
|
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: *
|
64
|
+
version_requirements: *70151954119220
|
65
65
|
- !ruby/object:Gem::Dependency
|
66
66
|
name: diff-lcs
|
67
|
-
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: *
|
75
|
+
version_requirements: *70151954118800
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
name: hoe-mercurial
|
78
|
-
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: *
|
86
|
+
version_requirements: *70151954118240
|
87
87
|
- !ruby/object:Gem::Dependency
|
88
88
|
name: hoe-manualgen
|
89
|
-
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: *
|
97
|
+
version_requirements: *70151954117640
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: hoe-highline
|
100
|
-
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: *
|
108
|
+
version_requirements: *70151954117140
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
110
|
name: rspec
|
111
|
-
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: *
|
119
|
+
version_requirements: *70151954116680
|
120
120
|
- !ruby/object:Gem::Dependency
|
121
121
|
name: ruby-termios
|
122
|
-
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: *
|
130
|
+
version_requirements: *70151954116240
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: ruby-terminfo
|
133
|
-
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: *
|
141
|
+
version_requirements: *70151954115820
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
143
|
name: columnize
|
144
|
-
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: *
|
152
|
+
version_requirements: *70151954115400
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: sysexits
|
155
|
-
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: *
|
163
|
+
version_requirements: *70151954114960
|
164
164
|
- !ruby/object:Gem::Dependency
|
165
165
|
name: sequel
|
166
|
-
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: *
|
174
|
+
version_requirements: *70151954114520
|
175
175
|
- !ruby/object:Gem::Dependency
|
176
176
|
name: hoe
|
177
|
-
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: *
|
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
|