# File lib/adhearsion/voip/asterisk/config_generators/config_generator.rb, line 69
          def one_of(criteria, options)
            cache = options.delete(:with) || properties
            options.each_pair do |key, value|
              search = !criteria.find { |criterion| criterion === value }.nil?
              unless search
                msg = "Didn't recognize #{value.inspect}! Must be one of " + criteria.map(&:inspect).to_sentence
                raise ArgumentError, msg
              end
              cache[key] = [true, false].include?(value) ? boolean_to_yes_no(value) : value
            end
          end