ambitious-activeldap 0.1.0 → 0.1.1

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/LICENSE ADDED
@@ -0,0 +1,18 @@
1
+ Copyright (c) 2007 Chris Wanstrath & Matthew King
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
7
+ the Software, and to permit persons to whom the Software is furnished to do so,
8
+ subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest CHANGED
@@ -1,8 +1,11 @@
1
1
  lib/ambition/adapters/active_ldap/base.rb
2
2
  lib/ambition/adapters/active_ldap/query.rb
3
3
  lib/ambition/adapters/active_ldap/select.rb
4
+ lib/ambition/adapters/active_ldap.rb
5
+ LICENSE
6
+ Manifest
7
+ README
4
8
  test/enumerable_test.rb
5
9
  test/helper.rb
6
10
  test/integration_test.rb
7
11
  test/select_test.rb
8
- Manifest
data/README ADDED
@@ -0,0 +1,48 @@
1
+ h2. An Ambitious ActiveLdap Adapter
2
+
3
+ Write LDAP search filters in Ruby. Awesomeness courtesy of Chris Wanstrath's Ambition library.
4
+
5
+ You must be using ActiveLdap 0.9 or greater.
6
+
7
+ h2. Get It
8
+
9
+ @$ sudo gem install ambitious-activeldap@
10
+
11
+
12
+ <pre>
13
+ require 'rubygems'
14
+ require 'ambition/adapters/active_ldap'
15
+ </pre>
16
+
17
+ h2. Examples
18
+
19
+ Let @User@ be a subclass of @ActiveLdap::Base@
20
+
21
+ <ruby>
22
+ User.select { |u| u.givenName == 'Severian' }.each do |user|
23
+ puts user.name
24
+ end
25
+ </ruby>
26
+
27
+ Queries don't run until you kick them. This adapter supports only the basic kicker methods: @each@, @each_with_index@, @map@, @entries@, @to_a@.
28
+
29
+ This adapter also doesn't support the methods that require sorting, slicing, or counting, because ActiveLdap effectively doesn't support such things. ActiveLdap lets you _request_ sorted and sliced result sets, but it does the work in Ruby, so you might as well do it yourself.
30
+
31
+ You can call @to_s@, but not @to_hash@ on a query. @to_s@ returns the LDAP search filter as a string.
32
+
33
+ <ruby>
34
+ >> User.select { |m| m.givenName == 'Jonas' }.to_s
35
+ => "(givenName=Jonas)"
36
+ </ruby>
37
+
38
+
39
+
40
+ h2. Issues.find(:all, :filter => "(type=bug)")
41
+
42
+ Bug me: "http://rubyforge.org/users/automatthew/":http://rubyforge.org/users/automatthew/
43
+
44
+ More information on Ambition:
45
+
46
+ * "http://ambition.rubyforge.org":http://ambition.rubyforge.org
47
+ * "http://groups.google.com/group/ambition-rb/":http://groups.google.com/group/ambition-rb/
48
+
@@ -1,21 +1,28 @@
1
1
 
2
- # Gem::Specification for Ambitious-activeldap-0.1.0
2
+ # Gem::Specification for Ambitious-activeldap-0.1.1
3
3
  # Originally generated by Echoe
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = %q{ambitious-activeldap}
7
- s.version = "0.1.0"
8
- s.date = %q{2008-01-29}
9
- s.summary = %q{An ambitious adapter for ActiveLDAP}
10
- s.email = %q{chris@ozmm.org}
11
- s.homepage = %q{http://ambition.rubyforge.org/}
12
- s.rubyforge_project = %q{ambition}
7
+ s.version = "0.1.1"
8
+
9
+ s.specification_version = 2 if s.respond_to? :specification_version=
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.authors = ["Matthew King"]
13
+ s.date = %q{2008-01-31}
13
14
  s.description = %q{An ambitious adapter for ActiveLDAP}
15
+ s.email = %q{automatthew@gmail.com}
16
+ s.files = ["lib/ambition/adapters/active_ldap/base.rb", "lib/ambition/adapters/active_ldap/query.rb", "lib/ambition/adapters/active_ldap/select.rb", "lib/ambition/adapters/active_ldap.rb", "LICENSE", "Manifest", "README", "test/enumerable_test.rb", "test/helper.rb", "test/integration_test.rb", "test/select_test.rb", "ambitious-activeldap.gemspec"]
14
17
  s.has_rdoc = true
15
- s.authors = ["Chris Wanstrath"]
16
- s.files = ["lib/ambition/adapters/active_ldap/base.rb", "lib/ambition/adapters/active_ldap/query.rb", "lib/ambition/adapters/active_ldap/select.rb", "test/enumerable_test.rb", "test/helper.rb", "test/integration_test.rb", "test/select_test.rb", "Manifest", "ambitious-activeldap.gemspec"]
18
+ s.homepage = %q{http://ambition.rubyforge.org/}
19
+ s.require_paths = ["lib"]
20
+ s.rubyforge_project = %q{ambition}
21
+ s.rubygems_version = %q{1.0.1}
22
+ s.summary = %q{An ambitious adapter for ActiveLDAP}
17
23
  s.test_files = ["test/enumerable_test.rb", "test/integration_test.rb", "test/select_test.rb"]
18
- s.add_dependency(%q<ruby-activeldap>, [">= 0.8.3.1"])
24
+
25
+ s.add_dependency(%q<activeldap>, [">= 0.9"])
19
26
  s.add_dependency(%q<ambition>, [">= 0.5.0"])
20
27
  end
21
28
 
@@ -24,7 +31,7 @@ end
24
31
  #
25
32
  # require 'rake'
26
33
  #
27
- # Version = '0.1.0'
34
+ # Version = '0.1.1'
28
35
  #
29
36
  # begin
30
37
  # require 'rubygems'
@@ -33,10 +40,10 @@ end
33
40
  # require 'echoe'
34
41
  #
35
42
  # Echoe.new('ambitious-activeldap') do |p|
36
- # p.dependencies << 'ruby-activeldap >=0.8.3.1'
43
+ # p.dependencies << 'activeldap >=0.9'
37
44
  # p.summary = "An ambitious adapter for ActiveLDAP"
38
- # p.author = 'Chris Wanstrath'
39
- # p.email = "chris@ozmm.org"
45
+ # p.author = 'Matthew King'
46
+ # p.email = "automatthew@gmail.com"
40
47
  #
41
48
  # p.project = 'ambition'
42
49
  # p.url = "http://ambition.rubyforge.org/"
@@ -0,0 +1,8 @@
1
+ require 'ambition'
2
+ require 'active_ldap'
3
+ require 'ambition/adapters/active_ldap/query'
4
+ require 'ambition/adapters/active_ldap/base'
5
+ require 'ambition/adapters/active_ldap/select'
6
+
7
+ ActiveLdap::Base.extend Ambition::API
8
+ ActiveLdap::Base.ambition_adapter = Ambition::Adapters::ActiveLdap
@@ -4,23 +4,21 @@ module Ambition
4
4
  class Query
5
5
 
6
6
  def kick
7
- owner.find(:all, to_hash)
7
+ options = {}
8
+ string = to_s
9
+ options[:filter] = string unless string.empty?
10
+ owner.find(:all, options)
8
11
  end
9
12
 
10
13
  def size
11
14
  raise "Not Implemented"
12
15
  end
13
16
 
14
- def to_hash
15
- hash = {}
16
- hash[:filter] = to_s unless to_s.empty?
17
- hash
18
- end
19
-
20
17
  def to_s
21
18
  Array(clauses[:select]).join
22
19
  clauses[:select].first.to_s
23
20
  end
21
+
24
22
  end
25
23
  end
26
24
  end
@@ -1,3 +1,4 @@
1
+ $:.reject! { |e| e.include? 'TextMate' }
1
2
  %w( rubygems test/spec mocha redgreen English ).each { |f| require f }
2
3
 
3
4
  $LOAD_PATH.unshift *[ File.dirname(__FILE__) + '/../lib', File.dirname(__FILE__) + '/../../../lib' ]
metadata CHANGED
@@ -1,73 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: ambitious-activeldap
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.1.0
7
- date: 2008-01-29 00:00:00 -08:00
8
- summary: An ambitious adapter for ActiveLDAP
9
- require_paths:
10
- - lib
11
- email: chris@ozmm.org
12
- homepage: http://ambition.rubyforge.org/
13
- rubyforge_project: ambition
14
- description: An ambitious adapter for ActiveLDAP
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 0.1.1
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
- - Chris Wanstrath
31
- files:
32
- - lib/ambition/adapters/active_ldap/base.rb
33
- - lib/ambition/adapters/active_ldap/query.rb
34
- - lib/ambition/adapters/active_ldap/select.rb
35
- - test/enumerable_test.rb
36
- - test/helper.rb
37
- - test/integration_test.rb
38
- - test/select_test.rb
39
- - Manifest
40
- - ambitious-activeldap.gemspec
41
- test_files:
42
- - test/enumerable_test.rb
43
- - test/integration_test.rb
44
- - test/select_test.rb
45
- rdoc_options: []
46
-
47
- extra_rdoc_files: []
48
-
49
- executables: []
50
-
51
- extensions: []
52
-
53
- requirements: []
7
+ - Matthew King
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
54
11
 
12
+ date: 2008-01-31 00:00:00 -06:00
13
+ default_executable:
55
14
  dependencies:
56
15
  - !ruby/object:Gem::Dependency
57
- name: ruby-activeldap
16
+ name: activeldap
58
17
  version_requirement:
59
- version_requirements: !ruby/object:Gem::Version::Requirement
18
+ version_requirements: !ruby/object:Gem::Requirement
60
19
  requirements:
61
20
  - - ">="
62
21
  - !ruby/object:Gem::Version
63
- version: 0.8.3.1
22
+ version: "0.9"
64
23
  version:
65
24
  - !ruby/object:Gem::Dependency
66
25
  name: ambition
67
26
  version_requirement:
68
- version_requirements: !ruby/object:Gem::Version::Requirement
27
+ version_requirements: !ruby/object:Gem::Requirement
69
28
  requirements:
70
29
  - - ">="
71
30
  - !ruby/object:Gem::Version
72
31
  version: 0.5.0
73
32
  version:
33
+ description: An ambitious adapter for ActiveLDAP
34
+ email: automatthew@gmail.com
35
+ executables: []
36
+
37
+ extensions: []
38
+
39
+ extra_rdoc_files: []
40
+
41
+ files:
42
+ - lib/ambition/adapters/active_ldap/base.rb
43
+ - lib/ambition/adapters/active_ldap/query.rb
44
+ - lib/ambition/adapters/active_ldap/select.rb
45
+ - lib/ambition/adapters/active_ldap.rb
46
+ - LICENSE
47
+ - Manifest
48
+ - README
49
+ - test/enumerable_test.rb
50
+ - test/helper.rb
51
+ - test/integration_test.rb
52
+ - test/select_test.rb
53
+ - ambitious-activeldap.gemspec
54
+ has_rdoc: true
55
+ homepage: http://ambition.rubyforge.org/
56
+ post_install_message:
57
+ rdoc_options: []
58
+
59
+ require_paths:
60
+ - lib
61
+ required_ruby_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: "0"
66
+ version:
67
+ required_rubygems_version: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: "0"
72
+ version:
73
+ requirements: []
74
+
75
+ rubyforge_project: ambition
76
+ rubygems_version: 1.0.1
77
+ signing_key:
78
+ specification_version: 2
79
+ summary: An ambitious adapter for ActiveLDAP
80
+ test_files:
81
+ - test/enumerable_test.rb
82
+ - test/integration_test.rb
83
+ - test/select_test.rb