class Gql::ModelTypeGenerator

Public Instance Methods

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

  superclass = options['superclass']

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

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

  create_file file_name, code
end