diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2013-02-01 16:34:51 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2013-02-01 16:34:51 +0000 |
| commit | 2aeb9b45d09c9f29c4395854d7a34f3e85751249 (patch) | |
| tree | 0b87a205f60fe9cf05bd35e0ab849c00a60f0e53 | |
| parent | 819bc71fe544f8d26cf5c7c704bd7b3b663e1c5c (diff) | |
| download | rabbitmq-server-git-2aeb9b45d09c9f29c4395854d7a34f3e85751249.tar.gz | |
rabbit_parameter_validation:enum/1
| -rw-r--r-- | src/rabbit_parameter_validation.erl | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/rabbit_parameter_validation.erl b/src/rabbit_parameter_validation.erl index 39d0188cba..a8dfdd3a4d 100644 --- a/src/rabbit_parameter_validation.erl +++ b/src/rabbit_parameter_validation.erl @@ -16,7 +16,7 @@ -module(rabbit_parameter_validation). --export([number/2, binary/2, boolean/2, list/2, regex/2, proplist/3]). +-export([number/2, binary/2, boolean/2, list/2, regex/2, proplist/3, enum/1]). number(_Name, Term) when is_number(Term) -> ok; @@ -73,3 +73,15 @@ proplist(Name, Constraints, Term) when is_list(Term) -> proplist(Name, _Constraints, Term) -> {error, "~s not a list ~p", [Name, Term]}. + +enum(OptionsA) -> + Options = [list_to_binary(atom_to_list(O)) || O <- OptionsA], + fun (Name, Term) when is_binary(Term) -> + case lists:member(Term, Options) of + true -> ok; + false -> {error, "~s should be one of ~p, actuaklly was ~p", + [Name, Options, Term]} + end; + (Name, Term) -> + {error, "~s should be binary, actually was ~p", [Name, Term]} + end. |
