class ActiveGraphql::Client::Actions::Action::FormatVariableInputs

converts ruby object in to varbiable stype grapqhl input

Attributes

initial_inputs[R]

Public Class Methods

new(inputs) click to toggle source
# File lib/active_graphql/client/actions/action/format_variable_inputs.rb, line 11
def initialize(inputs)
  @initial_inputs = inputs
end

Public Instance Methods

call() click to toggle source
# File lib/active_graphql/client/actions/action/format_variable_inputs.rb, line 15
def call
  return '' if inputs.empty?

  formatted_attributes(inputs)
end

Private Instance Methods

formatted_attributes(attributes) click to toggle source
# File lib/active_graphql/client/actions/action/format_variable_inputs.rb, line 25
def formatted_attributes(attributes)
  attributes = attributes.dup
  formatted_attributes = attributes.map do |key, val|
    formatted_key_and_type(key, val)
  end

  formatted_attributes.join(', ')
end
formatted_key_and_type(key, value) click to toggle source
# File lib/active_graphql/client/actions/action/format_variable_inputs.rb, line 38
def formatted_key_and_type(key, value)
  "$#{key}: #{formatted_type(value)}"
end
formatted_type(value) click to toggle source
# File lib/active_graphql/client/actions/action/format_variable_inputs.rb, line 42
def formatted_type(value)
  if value.is_a?(Array)
    '[File!]!'
  else
    'File!'
  end
end
inputs() click to toggle source
# File lib/active_graphql/client/actions/action/format_variable_inputs.rb, line 34
def inputs
  @inputs ||= variable_attributes(initial_inputs)
end