mxhero-api 0.1.22 → 0.1.23
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.
- checksums.yaml +8 -8
- data/VERSION +1 -1
- data/lib/directories.rb +27 -5
- data/mxhero-api.gemspec +2 -2
- data/test/test_directories.rb +34 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YjA2M2I2OTM1ZjljNWM0ZTQ0Mjk5ZGQzN2JlM2IwZjI0M2ZlZmVmMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
M2ViZWM4NWVlN2M1YTg0Yzg4NGVhNTBiZTBkOGRhZjQzMjE5YjRhMA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
M2QzN2EzMWQxYmE0YzA2NTgzMWYzYmE3YWYwMDFlZGYxZmFhMjNjN2Y3ZjNi
|
10
|
+
ZDVmMDE4MmFhMTdjYjI1MjhmNjYzMzM3NmRkZDgyMDg0ZTdmYmJlZWIzZjY1
|
11
|
+
ZGViMmJlYjVhZTIwMjg1NjA5YWVlZjA5ZmEzMDY4OGM2NWZkMjc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OTEwY2EwYTk3NDU1YjdmMDgxYTNlZjNkNDU1YzU3M2IyNWI2OThlOWVlZGEy
|
14
|
+
ZTQ3ZWE3MjAxOTkwMzdlODkxNmY2NTc2ZTcxN2EyMGNjMWExOGFkZjEzMjEy
|
15
|
+
MWJlNGI2OTc4ZDBhN2NlMzQzN2Q1ZDFjN2JjZDYzNzJiZTIwYjE=
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.23
|
data/lib/directories.rb
CHANGED
@@ -14,8 +14,7 @@ module MxHero::API
|
|
14
14
|
[:next_update, :nextUpdate],
|
15
15
|
[:last_update, :lastUpdate],
|
16
16
|
:error, [:override, :overrideFlag],
|
17
|
-
[:dn_authenticate, :dnAuthenticate]
|
18
|
-
:properties
|
17
|
+
[:dn_authenticate, :dnAuthenticate]
|
19
18
|
].each do |property|
|
20
19
|
case property
|
21
20
|
when Symbol
|
@@ -24,8 +23,10 @@ module MxHero::API
|
|
24
23
|
send "#{property.first}=", data[property.first] || data[property.last]
|
25
24
|
end
|
26
25
|
end
|
26
|
+
load_properties(data)
|
27
27
|
end
|
28
28
|
|
29
|
+
|
29
30
|
def last_update=(date)
|
30
31
|
parse_update_dates(:last_update, date)
|
31
32
|
end
|
@@ -38,7 +39,7 @@ module MxHero::API
|
|
38
39
|
properties.each { |prop, value| send("#{prop}=", value) if respond_to?("#{prop}=") }
|
39
40
|
end
|
40
41
|
|
41
|
-
def
|
42
|
+
def to_hash
|
42
43
|
{
|
43
44
|
domain: domain,
|
44
45
|
directoryType: type,
|
@@ -52,12 +53,33 @@ module MxHero::API
|
|
52
53
|
error: error,
|
53
54
|
overrideFlag: override, #override.nil? ? true : override,
|
54
55
|
dnAuthenticate: dn_authenticate,
|
55
|
-
properties:
|
56
|
-
}
|
56
|
+
properties: properties_field_to_hash
|
57
|
+
}
|
58
|
+
end
|
59
|
+
|
60
|
+
def to_json
|
61
|
+
to_hash.to_json
|
57
62
|
end
|
58
63
|
|
59
64
|
private
|
60
65
|
|
66
|
+
def load_properties(data)
|
67
|
+
@properties ||= {}
|
68
|
+
props = data[:properties]
|
69
|
+
case props
|
70
|
+
when Array then (props || []).each { |property| @properties[property[:name].to_sym] = property[:key] }
|
71
|
+
when Hash then @properties = props
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def properties_field_to_hash
|
76
|
+
values = []
|
77
|
+
(properties || []).each do |name, value|
|
78
|
+
values << { name: name, key: value }
|
79
|
+
end
|
80
|
+
values
|
81
|
+
end
|
82
|
+
|
61
83
|
def parse_update_dates(property, date)
|
62
84
|
if date.is_a? Integer or date.is_a? String
|
63
85
|
instance_variable_set "@#{property}", DateTime.strptime(date.to_s, '%Q')
|
data/mxhero-api.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: mxhero-api 0.1.
|
2
|
+
# stub: mxhero-api 0.1.23 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "mxhero-api"
|
6
|
-
s.version = "0.1.
|
6
|
+
s.version = "0.1.23"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
9
|
s.authors = ["Maximiliano Dello Russo", "Juan Pablo Royo", "mxHero"]
|
data/test/test_directories.rb
CHANGED
@@ -108,5 +108,39 @@ class DirectoriesTest < MiniTest::Unit::TestCase
|
|
108
108
|
directory.update_properties changes
|
109
109
|
changes.keys.each { |prop| assert_equal changes[prop], directory.send(prop) }
|
110
110
|
end
|
111
|
+
|
112
|
+
def test_initialize_properties
|
113
|
+
directory = MxHero::API::Directory.new domain: domain,
|
114
|
+
properties: [ {name: 'email', key: 'ldap.email'}, {name: 'name', key: 'user.name'} ]
|
115
|
+
|
116
|
+
assert_equal({ email: 'ldap.email', name: 'user.name' }, directory.properties)
|
117
|
+
|
118
|
+
directory = MxHero::API::Directory.new domain: domain,
|
119
|
+
properties: { email: 'ldap.email', name: 'user.name' }
|
120
|
+
|
121
|
+
assert_equal({ email: 'ldap.email', name: 'user.name' }, directory.properties)
|
122
|
+
end
|
123
|
+
|
124
|
+
def test_properties_to_json
|
125
|
+
directory = MxHero::API::Directory.new domain: domain,
|
126
|
+
properties: { email: 'ldap.email', name: 'user.name' }
|
127
|
+
|
128
|
+
expected = {
|
129
|
+
domain: directory.domain, directoryType: directory.type,
|
130
|
+
addres: directory.address, port: directory.port, sslFlag: directory.ssl,
|
131
|
+
user: directory.user, password: directory.password, filter: directory.filter,
|
132
|
+
base: directory.base, nextUpdate: directory.next_update,
|
133
|
+
lastUpdate: directory.last_update, error: directory.error,
|
134
|
+
overrideFlag: directory.override, dnAuthenticate: directory.dn_authenticate,
|
135
|
+
properties: [ { name: 'email', key:'ldap.email' }, { name: 'name', key: 'user.name' } ]
|
136
|
+
}
|
137
|
+
|
138
|
+
assert_equal expected.to_json, directory.to_json
|
139
|
+
|
140
|
+
directory = MxHero::API::Directory.new domain: domain
|
141
|
+
expected[:properties] = []
|
142
|
+
assert_equal expected.to_json, directory.to_json
|
143
|
+
end
|
144
|
+
|
111
145
|
end
|
112
146
|
|