class Gql::InputGenerator

Public Instance Methods

generate_input_type() click to toggle source
# File lib/generators/gql/input_generator.rb, line 14
def generate_input_type
  name = options['name'].nil? ? "#{model_name}Input" : options['name']
  superclass = options['superclass']

  ignore = ['id', 'created_at', 'updated_at']
  fields = map_model_types(model_name)
  fields.reject! { |field| ignore.include?(field[:name]) }
  if options['include_columns'].any?
    fields.reject! { |field| !options['include_columns'].include?(field[:name]) }
  end

  code = class_with_arguments(options['namespace'], name, superclass, fields)
  file_name = File.join(root_directory(options['namespace']), "#{name.underscore}.rb")

  create_file file_name, code
end