In your rebar.config
:
{deps, [
{ldap_rfc4515, "0.1.0"}
]}.
If using Erlang.mk:
In your Makefile
DEPS += ldap_rfc4515
dep_ldap_rfc4515 = ldap_rfc4515 0.1.0
In your mix.exs
:
def deps do
[{:ldap_rfc4515, "~> 0.1.0"}]
end
1> ldap_rfc4515:to_eldap("(|(gidNumber=4000)(uid=testuser)(memberUid=codeadict)(loginShell=/bin/bash))").
{ok,{'or',[{equalityMatch,{'AttributeValueAssertion',"gidNumber",
"4000"}},
{equalityMatch,{'AttributeValueAssertion',"uid","testuser"}},
{equalityMatch,{'AttributeValueAssertion',"memberUid",
"codeadict"}},
{equalityMatch,{'AttributeValueAssertion',"loginShell",
"/bin/bash"}}]}}
iex(1)> Ldap.RFC4515.to_eldap("(|(gidNumber=4000)(uid=testuser)(memberUid=codeadict)(loginShell=/bin/bash))")
{:ok,
{:or,
[
equalityMatch: {:AttributeValueAssertion, 'gidNumber', '4000'},
equalityMatch: {:AttributeValueAssertion, 'uid', 'testuser'},
equalityMatch: {:AttributeValueAssertion, 'memberUid', 'codeadict'},
equalityMatch: {:AttributeValueAssertion, 'loginShell', '/bin/bash'}
]}}
# Or using the ~F sigil
iex(2)> import Ldap.RFC4515
iex(3)> ~F"(|(gidNumber=4000)(uid=testuser)(memberUid=codeadict)(loginShell=/bin/bash))"
{:ok,
{:or,
[
equalityMatch: {:AttributeValueAssertion, 'gidNumber', '4000'},
equalityMatch: {:AttributeValueAssertion, 'uid', 'testuser'},
equalityMatch: {:AttributeValueAssertion, 'memberUid', 'codeadict'},
equalityMatch: {:AttributeValueAssertion, 'loginShell', '/bin/bash'}
]}}
rebar3 compile
rebar3 xref
rebar3 eunit
rebar3 as test dialyzer