treequel 1.0.0
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 +354 -0
- data/LICENSE +27 -0
- data/README +66 -0
- data/Rakefile +345 -0
- data/Rakefile.local +43 -0
- data/bin/treeirb +14 -0
- data/bin/treequel +229 -0
- data/examples/company-directory.rb +112 -0
- data/examples/ldap-monitor.rb +143 -0
- data/examples/ldap-monitor/public/css/master.css +328 -0
- data/examples/ldap-monitor/public/images/card_small.png +0 -0
- data/examples/ldap-monitor/public/images/chain_small.png +0 -0
- data/examples/ldap-monitor/public/images/globe_small.png +0 -0
- data/examples/ldap-monitor/public/images/globe_small_green.png +0 -0
- data/examples/ldap-monitor/public/images/plug.png +0 -0
- data/examples/ldap-monitor/public/images/shadows/large-30-down.png +0 -0
- data/examples/ldap-monitor/public/images/tick.png +0 -0
- data/examples/ldap-monitor/public/images/tick_circle.png +0 -0
- data/examples/ldap-monitor/public/images/treequel-favicon.png +0 -0
- data/examples/ldap-monitor/views/backends.erb +41 -0
- data/examples/ldap-monitor/views/connections.erb +74 -0
- data/examples/ldap-monitor/views/databases.erb +39 -0
- data/examples/ldap-monitor/views/dump_subsystem.erb +14 -0
- data/examples/ldap-monitor/views/index.erb +14 -0
- data/examples/ldap-monitor/views/layout.erb +35 -0
- data/examples/ldap-monitor/views/listeners.erb +30 -0
- data/examples/ldap_state.rb +62 -0
- data/lib/treequel.rb +145 -0
- data/lib/treequel/branch.rb +589 -0
- data/lib/treequel/branchcollection.rb +204 -0
- data/lib/treequel/branchset.rb +360 -0
- data/lib/treequel/constants.rb +604 -0
- data/lib/treequel/directory.rb +541 -0
- data/lib/treequel/exceptions.rb +32 -0
- data/lib/treequel/filter.rb +704 -0
- data/lib/treequel/mixins.rb +325 -0
- data/lib/treequel/schema.rb +245 -0
- data/lib/treequel/schema/attributetype.rb +252 -0
- data/lib/treequel/schema/ldapsyntax.rb +96 -0
- data/lib/treequel/schema/matchingrule.rb +124 -0
- data/lib/treequel/schema/matchingruleuse.rb +124 -0
- data/lib/treequel/schema/objectclass.rb +289 -0
- data/lib/treequel/sequel_integration.rb +26 -0
- data/lib/treequel/utils.rb +169 -0
- data/rake/191_compat.rb +26 -0
- data/rake/dependencies.rb +76 -0
- data/rake/helpers.rb +434 -0
- data/rake/hg.rb +261 -0
- data/rake/manual.rb +782 -0
- data/rake/packaging.rb +135 -0
- data/rake/publishing.rb +318 -0
- data/rake/rdoc.rb +30 -0
- data/rake/style.rb +62 -0
- data/rake/svn.rb +668 -0
- data/rake/testing.rb +187 -0
- data/rake/verifytask.rb +64 -0
- data/rake/win32.rb +190 -0
- data/spec/lib/constants.rb +93 -0
- data/spec/lib/helpers.rb +100 -0
- data/spec/treequel/branch_spec.rb +569 -0
- data/spec/treequel/branchcollection_spec.rb +213 -0
- data/spec/treequel/branchset_spec.rb +376 -0
- data/spec/treequel/directory_spec.rb +487 -0
- data/spec/treequel/filter_spec.rb +482 -0
- data/spec/treequel/mixins_spec.rb +330 -0
- data/spec/treequel/schema/attributetype_spec.rb +237 -0
- data/spec/treequel/schema/ldapsyntax_spec.rb +83 -0
- data/spec/treequel/schema/matchingrule_spec.rb +158 -0
- data/spec/treequel/schema/matchingruleuse_spec.rb +137 -0
- data/spec/treequel/schema/objectclass_spec.rb +262 -0
- data/spec/treequel/schema_spec.rb +118 -0
- data/spec/treequel/utils_spec.rb +49 -0
- data/spec/treequel_spec.rb +179 -0
- metadata +169 -0
@@ -0,0 +1,118 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
|
+
}
|
11
|
+
|
12
|
+
begin
|
13
|
+
require 'spec'
|
14
|
+
require 'spec/lib/constants'
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'yaml'
|
18
|
+
require 'ldap'
|
19
|
+
require 'ldap/schema'
|
20
|
+
require 'treequel/schema'
|
21
|
+
rescue LoadError
|
22
|
+
unless Object.const_defined?( :Gem )
|
23
|
+
require 'rubygems'
|
24
|
+
retry
|
25
|
+
end
|
26
|
+
raise
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
include Treequel::TestConstants
|
31
|
+
include Treequel::Constants
|
32
|
+
|
33
|
+
#####################################################################
|
34
|
+
### C O N T E X T S
|
35
|
+
#####################################################################
|
36
|
+
|
37
|
+
describe Treequel::Schema do
|
38
|
+
include Treequel::SpecHelpers
|
39
|
+
|
40
|
+
before( :all ) do
|
41
|
+
setup_logging( :fatal )
|
42
|
+
@datadir = Pathname( __FILE__ ).dirname.parent + 'data'
|
43
|
+
end
|
44
|
+
|
45
|
+
after( :all ) do
|
46
|
+
reset_logging()
|
47
|
+
end
|
48
|
+
|
49
|
+
TEST_NUMERICOID = '1.12.3.8.16.1.1.5'
|
50
|
+
TEST_DESCR = 'objectClass'
|
51
|
+
TEST_OIDLIST = %:( #{TEST_DESCR} $ objectCaste $ #{TEST_NUMERICOID} ) :
|
52
|
+
|
53
|
+
it "can parse the schema structure returned from LDAP::Conn#schema" do
|
54
|
+
schema_dumpfile = @datadir + 'schema.yml'
|
55
|
+
hash = YAML.load_file( schema_dumpfile )
|
56
|
+
schemahash = LDAP::Schema.new( hash )
|
57
|
+
|
58
|
+
schema = Treequel::Schema.new( schemahash )
|
59
|
+
|
60
|
+
schema.object_classes.should have( 298 ).members
|
61
|
+
schema.attribute_types.should have( 1085 ).members
|
62
|
+
schema.matching_rules.should have( 72 ).members
|
63
|
+
schema.matching_rule_uses.should have( 54 ).members
|
64
|
+
schema.ldap_syntaxes.should have( 31 ).members
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
it "can parse the schema structure returned from LDAP::Conn#schema even under $SAFE >= 1" do
|
69
|
+
schema_dumpfile = @datadir + 'schema.yml'
|
70
|
+
hash = YAML.load_file( schema_dumpfile )
|
71
|
+
|
72
|
+
schema = nil
|
73
|
+
Thread.new do
|
74
|
+
Thread.current.abort_on_exception = true
|
75
|
+
$SAFE = 1
|
76
|
+
schemahash = LDAP::Schema.new( hash )
|
77
|
+
schema = Treequel::Schema.new( schemahash )
|
78
|
+
end.join
|
79
|
+
|
80
|
+
schema.object_classes.should have( 298 ).members
|
81
|
+
schema.attribute_types.should have( 1085 ).members
|
82
|
+
schema.matching_rules.should have( 72 ).members
|
83
|
+
schema.matching_rule_uses.should have( 54 ).members
|
84
|
+
schema.ldap_syntaxes.should have( 31 ).members
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
it "can parse a valid oidlist" do
|
89
|
+
oids = Treequel::Schema.parse_oids( TEST_OIDLIST )
|
90
|
+
oids.should have(3).members
|
91
|
+
oids.should == [ :objectClass, :objectCaste, TEST_NUMERICOID ]
|
92
|
+
end
|
93
|
+
|
94
|
+
it "returns an empty Array if oidlist it's asked to parse is nil" do
|
95
|
+
Treequel::Schema.parse_oids( nil ).should == []
|
96
|
+
end
|
97
|
+
|
98
|
+
it "raises an exception if it's asked to parse an invalid oidlist" do
|
99
|
+
expect do
|
100
|
+
Treequel::Schema.parse_oids( %Q{my name is Jorma, I'm the sensitive one} )
|
101
|
+
end.to raise_error( Treequel::ParseError, /oidlist/i )
|
102
|
+
end
|
103
|
+
|
104
|
+
|
105
|
+
it "keeps a numeric OID as a String when parsing it" do
|
106
|
+
Treequel::Schema.parse_oid( TEST_NUMERICOID ).should be_a( String )
|
107
|
+
Treequel::Schema.parse_oid( TEST_NUMERICOID ).should == TEST_NUMERICOID
|
108
|
+
end
|
109
|
+
|
110
|
+
it "transforms a named OID as a Symbol when parsing it" do
|
111
|
+
Treequel::Schema.parse_oid( TEST_DESCR ).should be_a( Symbol )
|
112
|
+
Treequel::Schema.parse_oid( TEST_DESCR ).should == TEST_DESCR.to_sym
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
116
|
+
|
117
|
+
|
118
|
+
# vim: set nosta noet ts=4 sw=4:
|
@@ -0,0 +1,49 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
|
+
}
|
11
|
+
|
12
|
+
begin
|
13
|
+
require 'spec'
|
14
|
+
require 'spec/lib/constants'
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'treequel'
|
18
|
+
require 'treequel/utils'
|
19
|
+
rescue LoadError
|
20
|
+
unless Object.const_defined?( :Gem )
|
21
|
+
require 'rubygems'
|
22
|
+
retry
|
23
|
+
end
|
24
|
+
raise
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
include Treequel::TestConstants
|
29
|
+
# include Treequel::Constants
|
30
|
+
|
31
|
+
#####################################################################
|
32
|
+
### C O N T E X T S
|
33
|
+
#####################################################################
|
34
|
+
|
35
|
+
describe Treequel, "utilities" do
|
36
|
+
include Treequel::SpecHelpers
|
37
|
+
|
38
|
+
before( :all ) do
|
39
|
+
setup_logging( :fatal )
|
40
|
+
end
|
41
|
+
|
42
|
+
after( :all ) do
|
43
|
+
reset_logging()
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
# vim: set nosta noet ts=4 sw=4:
|
@@ -0,0 +1,179 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
10
|
+
}
|
11
|
+
|
12
|
+
begin
|
13
|
+
require 'spec'
|
14
|
+
require 'spec/lib/constants'
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'treequel'
|
18
|
+
require 'treequel/directory'
|
19
|
+
rescue LoadError
|
20
|
+
unless Object.const_defined?( :Gem )
|
21
|
+
require 'rubygems'
|
22
|
+
retry
|
23
|
+
end
|
24
|
+
raise
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
include Treequel::TestConstants
|
29
|
+
|
30
|
+
|
31
|
+
#####################################################################
|
32
|
+
### C O N T E X T S
|
33
|
+
#####################################################################
|
34
|
+
|
35
|
+
describe Treequel do
|
36
|
+
include Treequel::SpecHelpers
|
37
|
+
|
38
|
+
before( :all ) do
|
39
|
+
reset_logging()
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should know if its default logger is replaced" do
|
43
|
+
Treequel.reset_logger
|
44
|
+
Treequel.should be_using_default_logger
|
45
|
+
Treequel.logger = Logger.new( $stderr )
|
46
|
+
Treequel.should_not be_using_default_logger
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
it "returns a version string if asked" do
|
51
|
+
Treequel.version_string.should =~ /\w+ [\d.]+/
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
it "returns a version string with a build number if asked" do
|
56
|
+
Treequel.version_string(true).should =~ /\w+ [\d.]+ \(build rev.*\)/
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
it "provides a convenience method for creating directory objects" do
|
61
|
+
Treequel::Directory.should_receive( :new ).and_return( :a_directory )
|
62
|
+
Treequel.directory.should == :a_directory
|
63
|
+
end
|
64
|
+
|
65
|
+
it "accepts an LDAP url as the argument to the directory convenience method" do
|
66
|
+
Treequel::Directory.should_receive( :new ).
|
67
|
+
with({ :host => 'ldap.example.com', :base_dn => 'dc=example,dc=com', :port => 389 }).
|
68
|
+
and_return( :a_directory )
|
69
|
+
Treequel.directory( 'ldap://ldap.example.com/dc=example,dc=com' ).should == :a_directory
|
70
|
+
end
|
71
|
+
|
72
|
+
it "raises an exception if #directory is called with a non-ldap URL" do
|
73
|
+
lambda {
|
74
|
+
Treequel.directory( 'http://example.com/' )
|
75
|
+
}.should raise_error( ArgumentError, /ldap url/i )
|
76
|
+
end
|
77
|
+
|
78
|
+
it "accepts an options hash as the argument to the directory convenience method" do
|
79
|
+
opts = { :host => 'ldap.example.com', :base_dn => 'dc=example,dc=com' }
|
80
|
+
Treequel::Directory.should_receive( :new ).with( opts ).
|
81
|
+
and_return( :a_directory )
|
82
|
+
Treequel.directory( opts ).should == :a_directory
|
83
|
+
end
|
84
|
+
|
85
|
+
it "can build an options hash from an LDAP URL" do
|
86
|
+
Treequel.make_options_from_uri( 'ldap://ldap.example.com/dc=example,dc=com' ).should ==
|
87
|
+
{ :host => 'ldap.example.com', :base_dn => 'dc=example,dc=com', :port => 389 }
|
88
|
+
end
|
89
|
+
|
90
|
+
it "can build an options hash from an LDAPS URL" do
|
91
|
+
Treequel.make_options_from_uri( 'ldaps://ldap.example.com/dc=example,dc=com' ).should ==
|
92
|
+
{ :host => 'ldap.example.com', :base_dn => 'dc=example,dc=com', :port => 636, :connect_type => :ssl }
|
93
|
+
end
|
94
|
+
|
95
|
+
it "can build an options hash from an LDAP URL without a host" do
|
96
|
+
Treequel.make_options_from_uri( 'ldap:///dc=example,dc=com' ).should ==
|
97
|
+
{ :base_dn => 'dc=example,dc=com', :port => 389 }
|
98
|
+
end
|
99
|
+
|
100
|
+
# [?<attrs>[?<scope>[?<filter>[?<extensions>]]]]
|
101
|
+
it "can build an options hash from an LDAP URL with extra stuff" do
|
102
|
+
uri = 'ldap:///dc=example,dc=com?uid=jrandom,ou=People?l?one?!bindname=cn=auth'
|
103
|
+
Treequel.make_options_from_uri( uri ).should ==
|
104
|
+
{ :base_dn => 'dc=example,dc=com', :port => 389 }
|
105
|
+
end
|
106
|
+
|
107
|
+
it "accepts a combination of URL and options hash as the argument to the directory " +
|
108
|
+
"convenience method" do
|
109
|
+
uri = 'ldap://ldap.example.com/dc=example,dc=com'
|
110
|
+
user_dn = 'cn=admin,dc=example,dc=com'
|
111
|
+
pass = 'a:password!'
|
112
|
+
options_hash = {
|
113
|
+
:host => 'ldap.example.com',
|
114
|
+
:base_dn => 'dc=example,dc=com',
|
115
|
+
:port => 389,
|
116
|
+
:connect_type => :plain,
|
117
|
+
:bind_dn => user_dn,
|
118
|
+
:pass => pass,
|
119
|
+
}
|
120
|
+
|
121
|
+
Treequel::Directory.should_receive( :new ).
|
122
|
+
with( options_hash ).
|
123
|
+
and_return( :a_directory )
|
124
|
+
|
125
|
+
Treequel.directory( uri, :bind_dn => user_dn, :pass => pass, :connect_type => :plain )
|
126
|
+
end
|
127
|
+
|
128
|
+
|
129
|
+
describe " logging subsystem" do
|
130
|
+
before(:each) do
|
131
|
+
Treequel.reset_logger
|
132
|
+
end
|
133
|
+
|
134
|
+
after(:each) do
|
135
|
+
Treequel.reset_logger
|
136
|
+
end
|
137
|
+
|
138
|
+
|
139
|
+
it "has the default logger instance after being reset" do
|
140
|
+
Treequel.logger.should equal( Treequel.default_logger )
|
141
|
+
end
|
142
|
+
|
143
|
+
it "has the default log formatter instance after being reset" do
|
144
|
+
Treequel.logger.formatter.should equal( Treequel.default_log_formatter )
|
145
|
+
end
|
146
|
+
|
147
|
+
end
|
148
|
+
|
149
|
+
|
150
|
+
describe " logging subsystem with new defaults" do
|
151
|
+
before( :all ) do
|
152
|
+
@original_logger = Treequel.default_logger
|
153
|
+
@original_log_formatter = Treequel.default_log_formatter
|
154
|
+
end
|
155
|
+
|
156
|
+
after( :all ) do
|
157
|
+
Treequel.default_logger = @original_logger
|
158
|
+
Treequel.default_log_formatter = @original_log_formatter
|
159
|
+
end
|
160
|
+
|
161
|
+
|
162
|
+
it "uses the new defaults when the logging subsystem is reset" do
|
163
|
+
logger = mock( "dummy logger", :null_object => true )
|
164
|
+
formatter = mock( "dummy logger" )
|
165
|
+
|
166
|
+
Treequel.default_logger = logger
|
167
|
+
Treequel.default_log_formatter = formatter
|
168
|
+
|
169
|
+
logger.should_receive( :formatter= ).with( formatter )
|
170
|
+
|
171
|
+
Treequel.reset_logger
|
172
|
+
Treequel.logger.should equal( logger )
|
173
|
+
end
|
174
|
+
|
175
|
+
end
|
176
|
+
|
177
|
+
end
|
178
|
+
|
179
|
+
# vim: set nosta noet ts=4 sw=4:
|
metadata
ADDED
@@ -0,0 +1,169 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: treequel
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Michael Granger, Mahlon E. Smith
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-08-13 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: ruby-ldap
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.9.9
|
24
|
+
version:
|
25
|
+
description: |-
|
26
|
+
A library for interacting with LDAP (modeled after Sequel). It is an attempt to remove
|
27
|
+
the impedence mismatch of trying to treat LDAP as if it's a relational database, and
|
28
|
+
instead embrace its hierarchical, free-form nature.
|
29
|
+
email:
|
30
|
+
- ged@FaerieMUD.org
|
31
|
+
- mahlon@martini.nu
|
32
|
+
executables:
|
33
|
+
- treeirb
|
34
|
+
- treequel
|
35
|
+
extensions: []
|
36
|
+
|
37
|
+
extra_rdoc_files:
|
38
|
+
- ChangeLog
|
39
|
+
- README
|
40
|
+
- LICENSE
|
41
|
+
files:
|
42
|
+
- Rakefile
|
43
|
+
- ChangeLog
|
44
|
+
- README
|
45
|
+
- LICENSE
|
46
|
+
- spec/treequel/branch_spec.rb
|
47
|
+
- spec/treequel/branchcollection_spec.rb
|
48
|
+
- spec/treequel/branchset_spec.rb
|
49
|
+
- spec/treequel/directory_spec.rb
|
50
|
+
- spec/treequel/filter_spec.rb
|
51
|
+
- spec/treequel/mixins_spec.rb
|
52
|
+
- spec/treequel/schema/attributetype_spec.rb
|
53
|
+
- spec/treequel/schema/ldapsyntax_spec.rb
|
54
|
+
- spec/treequel/schema/matchingrule_spec.rb
|
55
|
+
- spec/treequel/schema/matchingruleuse_spec.rb
|
56
|
+
- spec/treequel/schema/objectclass_spec.rb
|
57
|
+
- spec/treequel/schema_spec.rb
|
58
|
+
- spec/treequel/utils_spec.rb
|
59
|
+
- spec/treequel_spec.rb
|
60
|
+
- spec/lib/constants.rb
|
61
|
+
- spec/lib/helpers.rb
|
62
|
+
- bin/treeirb
|
63
|
+
- bin/treequel
|
64
|
+
- lib/treequel/branch.rb
|
65
|
+
- lib/treequel/branchcollection.rb
|
66
|
+
- lib/treequel/branchset.rb
|
67
|
+
- lib/treequel/constants.rb
|
68
|
+
- lib/treequel/directory.rb
|
69
|
+
- lib/treequel/exceptions.rb
|
70
|
+
- lib/treequel/filter.rb
|
71
|
+
- lib/treequel/mixins.rb
|
72
|
+
- lib/treequel/schema/attributetype.rb
|
73
|
+
- lib/treequel/schema/ldapsyntax.rb
|
74
|
+
- lib/treequel/schema/matchingrule.rb
|
75
|
+
- lib/treequel/schema/matchingruleuse.rb
|
76
|
+
- lib/treequel/schema/objectclass.rb
|
77
|
+
- lib/treequel/schema.rb
|
78
|
+
- lib/treequel/sequel_integration.rb
|
79
|
+
- lib/treequel/utils.rb
|
80
|
+
- lib/treequel.rb
|
81
|
+
- rake/191_compat.rb
|
82
|
+
- rake/dependencies.rb
|
83
|
+
- rake/helpers.rb
|
84
|
+
- rake/hg.rb
|
85
|
+
- rake/manual.rb
|
86
|
+
- rake/packaging.rb
|
87
|
+
- rake/publishing.rb
|
88
|
+
- rake/rdoc.rb
|
89
|
+
- rake/style.rb
|
90
|
+
- rake/svn.rb
|
91
|
+
- rake/testing.rb
|
92
|
+
- rake/verifytask.rb
|
93
|
+
- rake/win32.rb
|
94
|
+
- ./examples/company-directory.rb
|
95
|
+
- ./examples/ldap-monitor.rb
|
96
|
+
- ./examples/ldap_state.rb
|
97
|
+
- ./examples/ldap-monitor/views/backends.erb
|
98
|
+
- ./examples/ldap-monitor/views/connections.erb
|
99
|
+
- ./examples/ldap-monitor/views/databases.erb
|
100
|
+
- ./examples/ldap-monitor/views/dump_subsystem.erb
|
101
|
+
- ./examples/ldap-monitor/views/index.erb
|
102
|
+
- ./examples/ldap-monitor/views/layout.erb
|
103
|
+
- ./examples/ldap-monitor/views/listeners.erb
|
104
|
+
- ./examples/ldap-monitor/public/css/master.css
|
105
|
+
- ./examples/ldap-monitor/public/images/card_small.png
|
106
|
+
- ./examples/ldap-monitor/public/images/chain_small.png
|
107
|
+
- ./examples/ldap-monitor/public/images/globe_small.png
|
108
|
+
- ./examples/ldap-monitor/public/images/globe_small_green.png
|
109
|
+
- ./examples/ldap-monitor/public/images/plug.png
|
110
|
+
- ./examples/ldap-monitor/public/images/shadows/large-30-down.png
|
111
|
+
- ./examples/ldap-monitor/public/images/tick.png
|
112
|
+
- ./examples/ldap-monitor/public/images/tick_circle.png
|
113
|
+
- ./examples/ldap-monitor/public/images/treequel-favicon.png
|
114
|
+
- Rakefile.local
|
115
|
+
has_rdoc: true
|
116
|
+
homepage: http://deveiate.org/projects/Treequel
|
117
|
+
licenses: []
|
118
|
+
|
119
|
+
post_install_message:
|
120
|
+
rdoc_options:
|
121
|
+
- -w
|
122
|
+
- "4"
|
123
|
+
- -HN
|
124
|
+
- -i
|
125
|
+
- .
|
126
|
+
- -m
|
127
|
+
- README
|
128
|
+
- -t
|
129
|
+
- treequel
|
130
|
+
- -W
|
131
|
+
- http://deveiate.org/projects/Treequel/browser/
|
132
|
+
require_paths:
|
133
|
+
- lib
|
134
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: "0"
|
139
|
+
version:
|
140
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: "0"
|
145
|
+
version:
|
146
|
+
requirements:
|
147
|
+
- ldap >=0
|
148
|
+
rubyforge_project: treequel
|
149
|
+
rubygems_version: 1.3.5
|
150
|
+
signing_key:
|
151
|
+
specification_version: 3
|
152
|
+
summary: An honest LDAP library
|
153
|
+
test_files:
|
154
|
+
- spec/treequel/branch_spec.rb
|
155
|
+
- spec/treequel/branchcollection_spec.rb
|
156
|
+
- spec/treequel/branchset_spec.rb
|
157
|
+
- spec/treequel/directory_spec.rb
|
158
|
+
- spec/treequel/filter_spec.rb
|
159
|
+
- spec/treequel/mixins_spec.rb
|
160
|
+
- spec/treequel/schema/attributetype_spec.rb
|
161
|
+
- spec/treequel/schema/ldapsyntax_spec.rb
|
162
|
+
- spec/treequel/schema/matchingrule_spec.rb
|
163
|
+
- spec/treequel/schema/matchingruleuse_spec.rb
|
164
|
+
- spec/treequel/schema/objectclass_spec.rb
|
165
|
+
- spec/treequel/schema_spec.rb
|
166
|
+
- spec/treequel/utils_spec.rb
|
167
|
+
- spec/treequel_spec.rb
|
168
|
+
- spec/lib/constants.rb
|
169
|
+
- spec/lib/helpers.rb
|