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

Version Path
graphql-2.4.9 lib/generators/graphql/field_extractor.rb
graphql-2.4.8 lib/generators/graphql/field_extractor.rb
graphql-2.4.7 lib/generators/graphql/field_extractor.rb
graphql-2.4.6 lib/generators/graphql/field_extractor.rb
graphql-2.4.5 lib/generators/graphql/field_extractor.rb
graphql-2.4.4 lib/generators/graphql/field_extractor.rb
graphql-2.4.3 lib/generators/graphql/field_extractor.rb
graphql-2.4.2 lib/generators/graphql/field_extractor.rb
graphql-2.4.1 lib/generators/graphql/field_extractor.rb
graphql-2.4.0 lib/generators/graphql/field_extractor.rb
graphql-2.3.20 lib/generators/graphql/field_extractor.rb
graphql-2.3.19 lib/generators/graphql/field_extractor.rb
graphql-2.3.18 lib/generators/graphql/field_extractor.rb
graphql-2.3.17 lib/generators/graphql/field_extractor.rb
graphql-2.3.16 lib/generators/graphql/field_extractor.rb
graphql-2.3.15 lib/generators/graphql/field_extractor.rb
graphql-2.3.14 lib/generators/graphql/field_extractor.rb
graphql-2.3.13 lib/generators/graphql/field_extractor.rb
graphql-2.3.12 lib/generators/graphql/field_extractor.rb
graphql-2.3.11 lib/generators/graphql/field_extractor.rb