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.
@@ -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
- id = ldap.retrieve_next_id(resource.model.treebase,
219
- key_properties(resource).field)
220
- resource_dup.send("#{key_properties(resource).name}=".to_sym, id)
221
- props[key_properties(resource).field.to_sym] = "#{id}"
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,
@@ -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: 5
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 5
10
- version: 0.4.5
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: 2011-12-14 00:00:00 Z
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: 19
29
+ hash: 15
30
30
  segments:
31
31
  - 0
32
32
  - 2
33
- - 2
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: 23
120
+ hash: 15
122
121
  segments:
123
122
  - 2
124
123
  - 6
125
- - 0
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: &id009 !ruby/object:Gem::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: *id009
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.7.2
219
+ rubygems_version: 1.8.15
238
220
  signing_key:
239
221
  specification_version: 3
240
222
  summary: ""