active_directory 1.2.2 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.2
1
+ 1.2.4
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{active_directory}
8
- s.version = "1.2.2"
8
+ s.version = "1.2.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Adam T Kerr"]
12
- s.date = %q{2011-02-14}
12
+ s.date = %q{2011-02-18}
13
13
  s.description = %q{ActiveDirectory uses Net::LDAP to provide a means of accessing and modifying an Active Directory data store. This is a fork of the activedirectory gem.}
14
14
  s.email = %q{ajrkerr@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -47,11 +47,11 @@ module ActiveDirectory
47
47
  @@special_fields = {
48
48
 
49
49
  #All objects in the AD
50
- :Base => {
51
- :objectguid => :binary,
52
- :whencreated => :date,
53
- :whenchanged => :date
54
- },
50
+ # :Base => {
51
+ # :objectguid => :binary,
52
+ # :whencreated => :date,
53
+ # :whenchanged => :date
54
+ # },
55
55
 
56
56
  #User objects
57
57
  :User => {
@@ -68,6 +68,9 @@ module ActiveDirectory
68
68
 
69
69
  #Group objects
70
70
  :Group => {
71
+ :objectguid => :binary,
72
+ :whencreated => :date,
73
+ :whenchanged => :date,
71
74
  :objectsid => :binary,
72
75
  },
73
76
  }
@@ -150,10 +150,10 @@ module ActiveDirectory
150
150
  #I'm sure there's a better way to do this
151
151
  #Grab the first one, then do the rest
152
152
  key, value = hash.shift
153
- f = Net::LDAP::Filter.eq(key, value.to_s)
153
+ f = Net::LDAP::Filter.eq(key, encode_field(key, value).to_s)
154
154
 
155
155
  hash.each do |key, value|
156
- f = f & Net::LDAP::Filter.eq(key, value.to_s)
156
+ f = f & Net::LDAP::Filter.eq(key, encode_field(key, value).to_s)
157
157
  end
158
158
 
159
159
  return f
@@ -406,21 +406,24 @@ module ActiveDirectory
406
406
  end
407
407
  end
408
408
 
409
- def get_field_type(name)
409
+ ##
410
+ # Grabs the field type depending on the class it is called from
411
+ # Takes the field name as a parameter
412
+ def self.get_field_type(name)
410
413
  #Extract class name
411
- klass = self.class.name[/.*::(.*)/, 1]
412
- type = ::ActiveDirectory.special_fields[klass.classify.to_sym][name.downcase.to_sym]
414
+ klass = self.name[/.*::(.*)/, 1]
415
+ type = ::ActiveDirectory.special_fields[klass.classify.to_sym][name.to_s.downcase.to_sym]
413
416
  type.to_s.classify unless type.nil?
414
417
  end
415
418
 
416
- def decode_field(name, value)
419
+ def self.decode_field(name, value)
417
420
  #Extract class name
418
421
  type = get_field_type name
419
422
  return ::ActiveDirectory::FieldType::const_get(type).decode(value) if !type.nil? and ::ActiveDirectory::FieldType::const_defined? type
420
423
  return value
421
424
  end
422
425
 
423
- def encode_field(name, value)
426
+ def self.encode_field(name, value)
424
427
  type = get_field_type name
425
428
  return ::ActiveDirectory::FieldType::const_get(type).encode(value) if !type.nil? and ::ActiveDirectory::FieldType::const_defined? type
426
429
  return value
@@ -441,7 +444,7 @@ module ActiveDirectory
441
444
  value = @entry.send(name.to_sym)
442
445
  value = value.first if value.kind_of?(Array) && value.size == 1
443
446
  value = value.to_s if value.nil? || value.size == 1
444
- return decode_field(name, value)
447
+ return self.class.decode_field(name, value)
445
448
  rescue NoMethodError
446
449
  return nil
447
450
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_directory
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 2
10
- version: 1.2.2
9
+ - 4
10
+ version: 1.2.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Adam T Kerr
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-14 00:00:00 -05:00
18
+ date: 2011-02-18 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency