Sha256: 22325ff8c17385783218e429fb3b2c614636a1fe7ed742d6c05d3f16f692dde6

Contents?: true

Size: 737 Bytes

Versions: 120

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

120 entries across 120 versions & 1 rubygems

Version Path
graphql-2.4.14 lib/generators/graphql/field_extractor.rb
graphql-2.3.22 lib/generators/graphql/field_extractor.rb
graphql-2.1.15 lib/generators/graphql/field_extractor.rb
graphql-1.13.24 lib/generators/graphql/field_extractor.rb
graphql-2.0.32 lib/generators/graphql/field_extractor.rb
graphql-2.1.14 lib/generators/graphql/field_extractor.rb
graphql-2.2.17 lib/generators/graphql/field_extractor.rb
graphql-2.3.21 lib/generators/graphql/field_extractor.rb
graphql-2.4.13 lib/generators/graphql/field_extractor.rb
graphql-2.4.12 lib/generators/graphql/field_extractor.rb
graphql-2.4.11 lib/generators/graphql/field_extractor.rb
graphql-2.4.10 lib/generators/graphql/field_extractor.rb
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