treequel 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +271 -1
- data/Rakefile +20 -16
- data/bin/treequel +816 -65
- data/bin/treequel.orig +963 -0
- data/examples/ldap-rack-auth.rb +101 -0
- data/lib/treequel/branchset.rb +11 -0
- data/lib/treequel/directory.rb +1 -3
- data/lib/treequel/filter.rb +1 -1
- data/lib/treequel/mixins.rb +65 -16
- data/lib/treequel/utils.rb +76 -1
- data/lib/treequel.rb +2 -2
- data/rake/manual.rb +1 -1
- data/rake/packaging.rb +9 -0
- data/rake/publishing.rb +2 -2
- data/spec/treequel/branchset_spec.rb +11 -0
- data/spec/treequel/filter_spec.rb +4 -0
- metadata +81 -48
data/ChangeLog
CHANGED
@@ -1,4 +1,274 @@
|
|
1
|
-
|
1
|
+
207[tip] c5e4cb039999 2009-11-17 20:35 -0800 ged
|
2
|
+
Added Branchset#as, added 'yaml'/disabled 'edit' command in treequel shell
|
3
|
+
|
4
|
+
206 67502a7b9224 2009-11-17 15:58 -0800 ged
|
5
|
+
Updated build system.
|
6
|
+
|
7
|
+
205 fd8e18e00cf5 2009-11-10 16:25 -0800 ged
|
8
|
+
Ignore .orig files
|
9
|
+
|
10
|
+
204 e7d7f6b3c101 2009-11-10 16:13 -0800 ged
|
11
|
+
Factored out generic utility code from the treequel binary; added color logging
|
12
|
+
|
13
|
+
203 8a309df5700a 2009-10-27 11:02 -0700 ged
|
14
|
+
Fix a bug in #filter( String => String )
|
15
|
+
|
16
|
+
202 32cf480d20a5 2009-10-19 11:25 -0700 ged
|
17
|
+
Fixing highlighting for wrapped LDIF values in the treequel shell.
|
18
|
+
|
19
|
+
201 ca660bd12f7f 2009-10-15 18:05 -0700 ged
|
20
|
+
Version bump, build system updates, made 'treequel' gem-binary-friendly, and some experiments.
|
21
|
+
|
22
|
+
200 9e4ba9a59fd3 2009-10-14 18:48 -0700 ged
|
23
|
+
Adding features to bin/treequel
|
24
|
+
|
25
|
+
199 b375e07370b2 2009-10-11 14:10 -0700 ged
|
26
|
+
Factored out short- and long-ls output generation into separate methods
|
27
|
+
|
28
|
+
198 ac1efb8eea87 2009-10-02 18:20 -0700 ged
|
29
|
+
* Fixed option parsing. Thanks to apeiros and dominikh on #Ruby-Pro @Freenode for their help.
|
30
|
+
|
31
|
+
197 311df09556e1 2009-10-02 05:46 -0700 ged
|
32
|
+
* Trying a different strategy for option-parsing
|
33
|
+
|
34
|
+
196:123,195 59c98c071fc3 2009-10-01 19:51 -0700 ged
|
35
|
+
Automated merge with ssh://hg@repo.deveiate.org/Treequel
|
36
|
+
|
37
|
+
195:194,122 186ab733dad9 2009-10-01 07:25 -0700 ged
|
38
|
+
Merged 192 and 193
|
39
|
+
|
40
|
+
194:121,193 01e0025b7bdd 2009-09-30 22:16 -0700 ged
|
41
|
+
Adding rebuilt terminfo gem and the beginnings of a spike to work out branch-control syntax
|
42
|
+
|
43
|
+
193 744c193e6f50 2009-08-13 17:10 -0700 ged
|
44
|
+
Added tag 1.0.0 for changeset 300dd8a5aa24
|
45
|
+
|
46
|
+
192 f907b569dcbe 2009-08-13 17:10 -0700 ged
|
47
|
+
Added signature for changeset a4e90241950d
|
48
|
+
|
49
|
+
191 af4cd38971b0 2009-08-13 17:10 -0700 ged
|
50
|
+
Miscellaneous docs fixups.
|
51
|
+
|
52
|
+
190 98303f8ae4d2 2009-08-13 16:43 -0700 ged
|
53
|
+
Adding Branchset#to_hash
|
54
|
+
|
55
|
+
189 3622b1711521 2009-08-13 16:16 -0700 ged
|
56
|
+
Updated build system.
|
57
|
+
|
58
|
+
188 aeae86442cac 2009-08-13 15:57 -0700 ged
|
59
|
+
Fixed the display in the company directory example template.
|
60
|
+
|
61
|
+
187 24d2ac287c7a 2009-08-13 15:53 -0700 ged
|
62
|
+
* Adding some more examples, updating the README.
|
63
|
+
|
64
|
+
186 9f455dbd34ef 2009-08-13 13:28 -0700 ged
|
65
|
+
Some cleanup and additions for release.
|
66
|
+
|
67
|
+
185 73f377edf18e 2009-08-13 11:06 -0700 ged
|
68
|
+
Bumping version for release.
|
69
|
+
|
70
|
+
184 4c3e13d4e6c3 2009-08-13 09:35 -0700 ged
|
71
|
+
Fixes for Ruby 1.9.1.
|
72
|
+
|
73
|
+
183 b4408d13d3c1 2009-08-13 07:38 -0700 ged
|
74
|
+
More work on the ldap-monitor example.
|
75
|
+
|
76
|
+
182 da86adb16b81 2009-08-12 10:04 -0700 ged
|
77
|
+
* Removing unused deveiate-theme stylesheet.
|
78
|
+
|
79
|
+
181 ec8f2af665c6 2009-08-12 08:02 -0700 ged
|
80
|
+
Committing CSS I forgot to commit with the last rev
|
81
|
+
|
82
|
+
180 bfc759ec3d3a 2009-08-11 20:59 -0700 ged
|
83
|
+
* Added another real-world example and added a bit more work to the web monitor app.
|
84
|
+
|
85
|
+
179 c9e2a6b28d39 2009-08-11 08:54 -0700 ged
|
86
|
+
* Added my nascent LDAP web monitor sinatra app under examples/
|
87
|
+
|
88
|
+
178 83fc292048c9 2009-08-10 23:53 -0700 ged
|
89
|
+
Stripped SVN constants and headers.
|
90
|
+
|
91
|
+
177 0b6835347c3b 2009-08-10 14:42 -0700 ged
|
92
|
+
* More manual work
|
93
|
+
|
94
|
+
176 6b35527b9525 2009-08-10 08:11 -0700 ged
|
95
|
+
Fixes for the manual footer
|
96
|
+
|
97
|
+
175 dfe7e7e17359 2009-08-10 07:59 -0700 ged
|
98
|
+
* Removing Branch#order, since the client-library sort attribute and function don't do
|
99
|
+
|
100
|
+
174 21333d9653ff 2009-08-05 13:26 -0700 ged
|
101
|
+
* Manual headings have a bit more top-margin.
|
102
|
+
|
103
|
+
173:171,172 b1aa9a5642f5 2009-08-03 14:18 -0700 ged
|
104
|
+
Merged f9ac0e1fa95f
|
105
|
+
|
106
|
+
172:170 4b7381e4c35c 2009-08-03 08:41 -0700 ged
|
107
|
+
* Adding a prompt mode to the .irbrc for manual example generation.
|
108
|
+
|
109
|
+
171 a0cbc5a505fb 2009-08-03 14:17 -0700 ged
|
110
|
+
* Finished conversion of the manual to client-side syntax-highlighting instead of
|
111
|
+
|
112
|
+
170 1d45903c1750 2009-08-01 08:31 -0700 ged
|
113
|
+
* Added details about Branchset#filter, #scope, #limit, and #select
|
114
|
+
|
115
|
+
169 a3aeb3c6c147 2009-07-31 08:29 -0700 ged
|
116
|
+
Updated build system
|
117
|
+
|
118
|
+
168:166,167 0d8816a380da 2009-07-31 08:13 -0700 ged
|
119
|
+
Merged. Someday I'll get the hang of this.
|
120
|
+
|
121
|
+
167:165 4ece63b2cc6e 2009-07-29 13:28 -0700 ged
|
122
|
+
* Adding coverage cache to the ignorefile.
|
123
|
+
|
124
|
+
166:162,165 067907cead97 2009-07-28 06:11 -0700 ged
|
125
|
+
Merged with 34cc97817266
|
126
|
+
|
127
|
+
165 109b2cbe661e 2009-07-27 12:06 -0700 ged
|
128
|
+
Updated build system
|
129
|
+
|
130
|
+
164:163,161 e67354b564e1 2009-07-27 11:58 -0700 ged
|
131
|
+
Merging work from gont
|
132
|
+
|
133
|
+
163:156 9c59112d9e42 2009-07-24 17:27 -0700 ged
|
134
|
+
Unlinking the subrepo, as it doesn't behave well enough quite yet.
|
135
|
+
|
136
|
+
162 4c4abfba98e0 2009-07-28 06:10 -0700 ged
|
137
|
+
Manual rewording, .hgignore updates
|
138
|
+
|
139
|
+
161:156,160 2e081686cd5d 2009-07-24 21:07 -0700 ged
|
140
|
+
Merging build system fixes
|
141
|
+
|
142
|
+
160 dcf67ec9818a 2009-07-24 21:05 -0700 ged
|
143
|
+
Updated build system
|
144
|
+
|
145
|
+
159 b8de99344904 2009-07-24 19:33 -0700 ged
|
146
|
+
Removing subrepo, as it doesn't work quite the way I'd hoped.
|
147
|
+
|
148
|
+
158 5415543ce713 2009-07-24 11:22 -0700 ged
|
149
|
+
Initial commit of Mercurial-based tasks
|
150
|
+
|
151
|
+
157 48d9fbeb2d3e 2009-07-23 08:51 -0700 ged
|
152
|
+
Started converting svn-specific helpers and tasks to vcs-agnostic ones
|
153
|
+
|
154
|
+
156 ae447545aa01 2009-07-21 18:10 -0700 ged
|
155
|
+
Adding experimental .hgsub for the rake tasklibs
|
156
|
+
|
157
|
+
155 7779841b6553 2009-07-21 15:44 +0000 mahlon
|
158
|
+
Manual updates for Branches, Branchsets, and Directory.base.
|
159
|
+
|
160
|
+
154 9baa3aa59ac7 2009-07-21 12:51 +0000 ged
|
161
|
+
* Treequel::Branch
|
162
|
+
|
163
|
+
153 d227d5d6f07e 2009-07-21 00:16 +0000 ged
|
164
|
+
* Fixing Treequel::Branch#copy, which was mistakenly using a modrdn to copy.
|
165
|
+
|
166
|
+
152 7af3d5893bbe 2009-07-20 22:22 +0000 ged
|
167
|
+
* Treequel::Branch: Don't freeze non-Arrays in the cached attribute values hash.
|
168
|
+
|
169
|
+
151 0f343c7bac68 2009-07-20 17:30 +0000 ged
|
170
|
+
* Made the Hash merge function a module_function instead of a constant
|
171
|
+
|
172
|
+
150 88a37f71375a 2009-07-20 13:20 +0000 ged
|
173
|
+
* Added the ability to include operational attributes in Treequel::Branch at the
|
174
|
+
|
175
|
+
149 741f1a399ca8 2009-07-19 18:36 +0000 ged
|
176
|
+
Adding missing wrap.png for the manual
|
177
|
+
|
178
|
+
148 6f0e1d82faa4 2009-07-18 06:28 +0000 ged
|
179
|
+
* Make ObjectClass#sup return the corresponding ObjectClass instance.
|
180
|
+
|
181
|
+
147 b470955b4277 2009-07-17 22:53 +0000 ged
|
182
|
+
Cleaned up the manual syntax-highlighting a bunch. Red logo!
|
183
|
+
|
184
|
+
146 31ce6958889d 2009-07-17 17:59 +0000 ged
|
185
|
+
Use client-side highlighting instead of Ultraviolet.
|
186
|
+
|
187
|
+
145 2f1b04aa4c88 2009-07-17 15:40 +0000 mahlon
|
188
|
+
* Wrap branch rdn attributes in an array for easy mungin' and merging.
|
189
|
+
|
190
|
+
144 7fec5e5e47cf 2009-07-17 13:27 +0000 ged
|
191
|
+
* Manual work.
|
192
|
+
|
193
|
+
143 4a9186101ea3 2009-07-17 05:14 +0000 ged
|
194
|
+
* Logo and other manual work
|
195
|
+
|
196
|
+
142 eea6b8cff79a 2009-07-17 03:00 +0000 ged
|
197
|
+
* Treequel::Branch
|
198
|
+
|
199
|
+
141 b27a0b79f367 2009-07-16 17:04 +0000 mahlon
|
200
|
+
* Wrap branch rdn attributes in an array for easy mungin' and merging.
|
201
|
+
|
202
|
+
140 191820b894dc 2009-07-15 15:50 +0000 ged
|
203
|
+
* Order attributes by their key when composing a multi-value RDN from a pair + a Hash for
|
204
|
+
|
205
|
+
139 9e3c3d925484 2009-07-15 00:41 +0000 ged
|
206
|
+
Adding logo
|
207
|
+
|
208
|
+
138 aa1a22869419 2009-07-13 17:48 +0000 ged
|
209
|
+
* Updated build system
|
210
|
+
|
211
|
+
137 4f3928271278 2009-07-08 17:38 +0000 ged
|
212
|
+
* A bit more hacking on the OHM experiment.
|
213
|
+
|
214
|
+
136 878ce9a276b2 2009-07-03 00:57 +0000 ged
|
215
|
+
* Treequel::Branch
|
216
|
+
|
217
|
+
135 f9b545b72c09 2009-07-02 15:22 +0000 ged
|
218
|
+
* Adding experimental Arrow service that uses Treequel to return ou=People records.
|
219
|
+
|
220
|
+
134 a5b773de4514 2009-06-30 15:31 +0000 ged
|
221
|
+
Removing the call to `Time.today` from the specs, as it requires the loading of 'time'.
|
222
|
+
|
223
|
+
133 9e88e5e2559c 2009-06-30 15:08 +0000 ged
|
224
|
+
* Added Treequel::Branch#to_ufn
|
225
|
+
|
226
|
+
132 e34950351275 2009-06-29 17:00 +0000 ged
|
227
|
+
* Adding the beginnings of an experimental object-mapping (tree-based ORM analogue) for LDAP
|
228
|
+
|
229
|
+
131 3bfc1759a408 2009-06-27 00:43 +0000 ged
|
230
|
+
Updated HTML logger formatter to the latest.
|
231
|
+
|
232
|
+
130 ba8c0f6589c3 2009-06-25 18:49 +0000 ged
|
233
|
+
* Renamed Treequel::Branch#modify to #merge
|
234
|
+
|
235
|
+
129 9fc34044d06a 2009-06-24 14:15 +0000 ged
|
236
|
+
Fixed some LAIKA references in the manual.
|
237
|
+
|
238
|
+
128 79dbb11efb67 2009-06-23 19:34 +0000 ged
|
239
|
+
* Fixed docs on the binding arguments for Treequel::Directory#initialize.
|
240
|
+
|
241
|
+
127 13c3ae870b11 2009-06-23 14:57 +0000 ged
|
242
|
+
* Added delegation to the connection wrapper.
|
243
|
+
|
244
|
+
126 726aa7f95eb7 2009-06-22 17:09 +0000 ged
|
245
|
+
* Fixed RDoc headers.
|
246
|
+
|
247
|
+
125 062424db136b 2009-06-18 18:45 +0000 ged
|
248
|
+
* Updated the build system.
|
249
|
+
|
250
|
+
124:50 d175301aab61 2009-06-18 15:29 +0000 ged
|
251
|
+
* Adding BranchCollection class.
|
252
|
+
|
253
|
+
123 a4acbdcb366e 2009-10-01 17:57 -0700 ged
|
254
|
+
* More work on option-parsing
|
255
|
+
|
256
|
+
122 b1374ce2d79b 2009-09-30 18:35 -0700 ged
|
257
|
+
Worked on the treequel shell, adding option-parsing and help
|
258
|
+
|
259
|
+
121 0de4d48e9b2d 2009-09-30 06:30 -0700 ged
|
260
|
+
* Fixes for the treequel shell, which was very broken in the initial
|
261
|
+
|
262
|
+
120 104e3d7685c3 2009-08-13 17:10 -0700 ged
|
263
|
+
Added tag 1.0.0 for changeset 300dd8a5aa24
|
264
|
+
|
265
|
+
119[1.0.0] 300dd8a5aa24 2009-08-13 17:10 -0700 ged
|
266
|
+
Added signature for changeset a4e90241950d
|
267
|
+
|
268
|
+
118 a4e90241950d 2009-08-13 17:10 -0700 ged
|
269
|
+
Miscellaneous docs fixups.
|
270
|
+
|
271
|
+
117 e98fb34df0c0 2009-08-13 16:43 -0700 ged
|
2
272
|
Adding Branchset#to_hash
|
3
273
|
|
4
274
|
116 e18bfe831135 2009-08-13 16:16 -0700 ged
|
data/Rakefile
CHANGED
@@ -33,6 +33,14 @@ rescue LoadError
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
+
begin
|
37
|
+
require 'rubyfems'
|
38
|
+
rescue LoadError
|
39
|
+
module Gem
|
40
|
+
class Specification; end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
36
44
|
require 'rbconfig'
|
37
45
|
require 'rake'
|
38
46
|
require 'rake/testtask'
|
@@ -79,7 +87,6 @@ COMMIT_MSG_FILE = 'commit-msg.txt'
|
|
79
87
|
FILE_INDENT = " " * 12
|
80
88
|
LOG_INDENT = " " * 3
|
81
89
|
|
82
|
-
CHANGELOG = BASEDIR + 'ChangeLog'
|
83
90
|
EXTCONF = EXTDIR + 'extconf.rb'
|
84
91
|
|
85
92
|
ARTIFACTS_DIR = Pathname.new( CC_BUILD_ARTIFACTS )
|
@@ -157,8 +164,8 @@ require RAKE_TASKDIR + 'helpers.rb'
|
|
157
164
|
|
158
165
|
# Define some constants that depend on the 'svn' tasklib
|
159
166
|
if hg = which( 'hg' )
|
160
|
-
id = IO.read('|-') or exec hg, 'id', '-
|
161
|
-
PKG_BUILD = id.chomp
|
167
|
+
id = IO.read('|-') or exec hg.to_s, 'id', '-n'
|
168
|
+
PKG_BUILD = id.chomp[ /^[[:xdigit:]]+/ ]
|
162
169
|
else
|
163
170
|
PKG_BUILD = 0
|
164
171
|
end
|
@@ -193,6 +200,9 @@ RUBYFORGE_PROJECT = 'treequel'
|
|
193
200
|
|
194
201
|
# Gem dependencies: gemname => version
|
195
202
|
DEPENDENCIES = {
|
203
|
+
'termios' => '>= 0.9.4',
|
204
|
+
'columnize' => '>= 0.3.1',
|
205
|
+
'ruby-terminfo' => '>= 0.1.1',
|
196
206
|
'ruby-ldap' => '>= 0.9.9',
|
197
207
|
}
|
198
208
|
|
@@ -208,6 +218,7 @@ DEVELOPMENT_DEPENDENCIES = {
|
|
208
218
|
'termios' => '>= 0',
|
209
219
|
'text-format' => '>= 1.0.0',
|
210
220
|
'tmail' => '>= 1.2.3.1',
|
221
|
+
'diff-lcs' => '>= 1.1.2',
|
211
222
|
}
|
212
223
|
|
213
224
|
# Non-gem requirements: packagename => version
|
@@ -228,9 +239,11 @@ GEMSPEC = Gem::Specification.new do |gem|
|
|
228
239
|
].join( "\n" )
|
229
240
|
|
230
241
|
gem.authors = "Michael Granger, Mahlon E. Smith"
|
231
|
-
gem.email = ["
|
242
|
+
gem.email = ["mahlon@martini.nu", "ged@FaerieMUD.org"]
|
232
243
|
gem.homepage = 'http://deveiate.org/projects/Treequel'
|
233
|
-
|
244
|
+
|
245
|
+
# Apparently this isn't actually the 'project'?
|
246
|
+
gem.rubyforge_project = RUBYFORGE_GROUP
|
234
247
|
|
235
248
|
gem.has_rdoc = true
|
236
249
|
gem.rdoc_options = RDOC_OPTIONS
|
@@ -253,14 +266,6 @@ GEMSPEC = Gem::Specification.new do |gem|
|
|
253
266
|
gem.add_runtime_dependency( name, version )
|
254
267
|
end
|
255
268
|
|
256
|
-
# # Developmental dependencies don't work as of RubyGems 1.2.0
|
257
|
-
# unless Gem::Version.new( Gem::RubyGemsVersion ) <= Gem::Version.new( "1.2.0" )
|
258
|
-
# DEVELOPMENT_DEPENDENCIES.each do |name, version|
|
259
|
-
# version = '>= 0' if version.length.zero?
|
260
|
-
# gem.add_development_dependency( name, version )
|
261
|
-
# end
|
262
|
-
# end
|
263
|
-
|
264
269
|
REQUIREMENTS.each do |name, version|
|
265
270
|
gem.requirements << [ name, version ].compact.join(' ')
|
266
271
|
end
|
@@ -268,7 +273,7 @@ end
|
|
268
273
|
|
269
274
|
$trace = Rake.application.options.trace ? true : false
|
270
275
|
$dryrun = Rake.application.options.dryrun ? true : false
|
271
|
-
|
276
|
+
$include_dev_dependencies = false
|
272
277
|
|
273
278
|
# Load any remaining task libraries
|
274
279
|
RAKE_TASKLIBS.each do |tasklib|
|
@@ -301,13 +306,12 @@ task :default => [:clean, :local, :spec, :rdoc, :package]
|
|
301
306
|
### Task the local Rakefile can append to -- no-op by default
|
302
307
|
task :local
|
303
308
|
|
304
|
-
|
305
309
|
### Task: clean
|
306
310
|
CLEAN.include 'coverage'
|
307
311
|
CLOBBER.include 'artifacts', 'coverage.info', PKGDIR
|
308
312
|
|
309
313
|
### Task: changelog
|
310
|
-
file
|
314
|
+
file 'ChangeLog' do |task|
|
311
315
|
log "Updating #{task.name}"
|
312
316
|
|
313
317
|
changelog = make_changelog()
|