Erlang terms formatter
This commit is contained in:
parent
ca69dff530
commit
7dd74a3232
|
@ -23,6 +23,8 @@ defmodule RabbitMQ.CLI.Ctl.Commands.EvalCommand do
|
|||
def switches(), do: []
|
||||
def aliases(), do: []
|
||||
|
||||
def formatter(), do: RabbitMQ.CLI.Formatters.ErlTerms
|
||||
|
||||
def validate([], _) do
|
||||
{:validation_failure, :not_enough_args}
|
||||
end
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
## The contents of this file are subject to the Mozilla Public License
|
||||
## Version 1.1 (the "License"); you may not use this file except in
|
||||
## compliance with the License. You may obtain a copy of the License
|
||||
## at http://www.mozilla.org/MPL/
|
||||
##
|
||||
## Software distributed under the License is distributed on an "AS IS"
|
||||
## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
|
||||
## the License for the specific language governing rights and
|
||||
## limitations under the License.
|
||||
##
|
||||
## The Original Code is RabbitMQ.
|
||||
##
|
||||
## The Initial Developer of the Original Code is GoPivotal, Inc.
|
||||
## Copyright (c) 2007-2016 Pivotal Software, Inc. All rights reserved.
|
||||
|
||||
defmodule RabbitMQ.CLI.Formatters.Erlang do
|
||||
@behaviour RabbitMQ.CLI.Formatters.FormatterBehaviour
|
||||
|
||||
def format_output(output, _) do
|
||||
:io_lib.format("~p", [output])
|
||||
|> to_string
|
||||
end
|
||||
|
||||
def format_stream(stream, options) do
|
||||
elements = Stream.map(stream, fn
|
||||
({:error, msg}) ->
|
||||
{:error, msg};
|
||||
(element) ->
|
||||
format_output(element, options)
|
||||
end)
|
||||
Stream.concat([["["], elements, ["]"]])
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue