active_directory 1.2.2 → 1.2.4

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/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