~ubuntu-branches/ubuntu/saucy/rabbitmq-server/saucy-proposed

« back to all changes in this revision

Viewing changes to src/rabbit_parameter_validation.erl

  • Committer: Package Import Robot
  • Author(s): Emile Joubert
  • Date: 2013-05-02 11:19:31 UTC
  • mfrom: (0.5.2) (0.1.37 sid)
  • Revision ID: package-import@ubuntu.com-20130502111931-xnoj0sejto2tewcj
Tags: 3.1.0-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
-module(rabbit_parameter_validation).
18
18
 
19
 
-export([number/2, binary/2, boolean/2, list/2, regex/2, proplist/3]).
 
19
-export([number/2, binary/2, boolean/2, list/2, regex/2, proplist/3, enum/1]).
20
20
 
21
21
number(_Name, Term) when is_number(Term) ->
22
22
    ok;
73
73
 
74
74
proplist(Name, _Constraints, Term) ->
75
75
    {error, "~s not a list ~p", [Name, Term]}.
 
76
 
 
77
enum(OptionsA) ->
 
78
    Options = [list_to_binary(atom_to_list(O)) || O <- OptionsA],
 
79
    fun (Name, Term) when is_binary(Term) ->
 
80
            case lists:member(Term, Options) of
 
81
                true  -> ok;
 
82
                false -> {error, "~s should be one of ~p, actually was ~p",
 
83
                          [Name, Options, Term]}
 
84
            end;
 
85
        (Name, Term) ->
 
86
            {error, "~s should be binary, actually was ~p", [Name, Term]}
 
87
    end.