dm-ldap-adapter 0.4.5 → 0.4.6
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/lib/adapters/ldap_adapter.rb +11 -5
- data/lib/ldap/net_ldap_facade.rb +3 -2
- metadata +11 -29
@@ -209,16 +209,22 @@ module DataMapper
|
|
209
209
|
value = prop.get!(resource)
|
210
210
|
if prop.class == ::Ldap::LdapArray
|
211
211
|
props[prop.field.to_sym] = value unless value.nil? or value.size == 0
|
212
|
+
elsif ::DataMapper::Property::Boolean === prop
|
213
|
+
props[prop.field.to_sym] = value ? 'TRUE' : 'FALSE' unless value.nil?
|
212
214
|
else
|
213
|
-
props[prop.field.to_sym] = value.to_s unless value.nil?
|
215
|
+
props[prop.field.to_sym] = prop.dump(value).to_s unless value.nil?
|
214
216
|
end
|
215
217
|
key = prop if prop.serial?
|
216
218
|
end
|
217
219
|
resource_dup = resource.dup
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
220
|
+
|
221
|
+
if props[key_properties(resource).field.to_sym].nil? then
|
222
|
+
id = ldap.retrieve_next_id(resource.model.treebase,
|
223
|
+
key_properties(resource).field)
|
224
|
+
resource_dup.send("#{key_properties(resource).name}=".to_sym, id)
|
225
|
+
props[key_properties(resource).field.to_sym] = "#{id}"
|
226
|
+
end
|
227
|
+
|
222
228
|
key_value = begin
|
223
229
|
ldap.create_object(resource.model.dn_prefix(resource_dup),
|
224
230
|
resource.model.treebase,
|
data/lib/ldap/net_ldap_facade.rb
CHANGED
@@ -65,13 +65,14 @@ module Ldap
|
|
65
65
|
# @param Array of conditions for the search
|
66
66
|
# @return Array of Hashes with a name/values pair for each attribute
|
67
67
|
def read_objects(treebase, key_fields, conditions, field_names, order_field = nil)
|
68
|
-
searchbase = base(treebase)
|
69
|
-
filter = Conditions2Filter.convert(conditions)
|
70
68
|
|
71
69
|
# If there is a :dn in the filter skip everything and look it up
|
72
70
|
if dn = conditions.detect { |c| c[1] == "dn" } then
|
73
71
|
searchbase = dn[2]
|
74
72
|
filter = nil
|
73
|
+
else
|
74
|
+
searchbase = base(treebase)
|
75
|
+
filter = Conditions2Filter.convert(conditions)
|
75
76
|
end
|
76
77
|
|
77
78
|
result = []
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-ldap-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 6
|
10
|
+
version: 0.4.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- mkristian
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date:
|
19
|
+
date: 2013-04-10 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: net-ldap
|
@@ -26,12 +26,11 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 15
|
30
30
|
segments:
|
31
31
|
- 0
|
32
32
|
- 2
|
33
|
-
|
34
|
-
version: 0.2.2
|
33
|
+
version: "0.2"
|
35
34
|
type: :runtime
|
36
35
|
version_requirements: *id001
|
37
36
|
- !ruby/object:Gem::Dependency
|
@@ -118,34 +117,17 @@ dependencies:
|
|
118
117
|
requirements:
|
119
118
|
- - ~>
|
120
119
|
- !ruby/object:Gem::Version
|
121
|
-
hash:
|
120
|
+
hash: 15
|
122
121
|
segments:
|
123
122
|
- 2
|
124
123
|
- 6
|
125
|
-
|
126
|
-
version: 2.6.0
|
124
|
+
version: "2.6"
|
127
125
|
type: :development
|
128
126
|
version_requirements: *id007
|
129
|
-
- !ruby/object:Gem::Dependency
|
130
|
-
name: bundler
|
131
|
-
prerelease: false
|
132
|
-
requirement: &id008 !ruby/object:Gem::Requirement
|
133
|
-
none: false
|
134
|
-
requirements:
|
135
|
-
- - ~>
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
hash: 9
|
138
|
-
segments:
|
139
|
-
- 1
|
140
|
-
- 0
|
141
|
-
- 15
|
142
|
-
version: 1.0.15
|
143
|
-
type: :development
|
144
|
-
version_requirements: *id008
|
145
127
|
- !ruby/object:Gem::Dependency
|
146
128
|
name: ruby-ldap
|
147
129
|
prerelease: false
|
148
|
-
requirement: &
|
130
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
149
131
|
none: false
|
150
132
|
requirements:
|
151
133
|
- - ~>
|
@@ -157,7 +139,7 @@ dependencies:
|
|
157
139
|
- 11
|
158
140
|
version: 0.9.11
|
159
141
|
type: :development
|
160
|
-
version_requirements: *
|
142
|
+
version_requirements: *id008
|
161
143
|
description: ldap adapter for datamapper which uses either net-ldap or ruby-ldap
|
162
144
|
email:
|
163
145
|
- m.kristian@web.de
|
@@ -234,7 +216,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
216
|
requirements: []
|
235
217
|
|
236
218
|
rubyforge_project:
|
237
|
-
rubygems_version: 1.
|
219
|
+
rubygems_version: 1.8.15
|
238
220
|
signing_key:
|
239
221
|
specification_version: 3
|
240
222
|
summary: ""
|