Sha256: 22325ff8c17385783218e429fb3b2c614636a1fe7ed742d6c05d3f16f692dde6
Contents?: true
Size: 737 Bytes
Versions: 108
Compression:
Stored size: 737 Bytes
Contents
# frozen_string_literal: true require 'rails/generators/base' module Graphql module Generators module FieldExtractor def fields columns = [] columns += (klass&.columns&.map { |c| generate_column_string(c) } || []) columns + custom_fields end def generate_column_string(column) name = column.name required = column.null ? "" : "!" type = column_type_string(column) "#{name}:#{required}#{type}" end def column_type_string(column) column.name == "id" ? "ID" : column.type.to_s.camelize end def klass @klass ||= Module.const_get(name.camelize) rescue NameError @klass = nil end end end end
Version data entries
108 entries across 108 versions & 1 rubygems