class ActiveGraphql::Client::Actions::Action::FormatOutputs
converts ruby object in to grapqhl output string
Attributes
outputs[R]
Public Class Methods
new(outputs)
click to toggle source
# File lib/active_graphql/client/actions/action/format_outputs.rb, line 9 def initialize(outputs) @outputs = outputs end
Public Instance Methods
call()
click to toggle source
# File lib/active_graphql/client/actions/action/format_outputs.rb, line 13 def call Array.wrap(outputs).map { |it| formatted(it) }.join(', ') end
Private Instance Methods
formatted(attribute)
click to toggle source
# File lib/active_graphql/client/actions/action/format_outputs.rb, line 21 def formatted(attribute) # rubocop:disable Metrics/MethodLength case attribute when Hash attribute.map { |key, value| "#{key} { #{formatted(value)} }" }.join(', ') when Symbol, String attribute.to_s when Array attribute.map { |it| formatted(it) }.join(', ') else raise( ActiveGraphql::Client::Actions::WrongTypeError, "Unsupported attribute type: #{attribute.inspect}:#{attribute.class}" ) end end