Class: Graphql::Generators::ObjectGenerator
- Inherits:
 - 
      TypeGeneratorBase
      
        
- Object
 - Rails::Generators::Base
 - TypeGeneratorBase
 - Graphql::Generators::ObjectGenerator
 
 
- Defined in:
 - lib/generators/graphql/object_generator.rb
 
Overview
Generate an object type by name, with the specified fields.
rails g graphql:object PostType name:String!
Add the Node interface with --node.
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Core
#create_dir, #create_mutation_root_type, #insert_root_type, #module_namespacing_when_supported, #schema_file_path
Class Method Details
.normalize_type_expression(type_expression, mode:, null: true) ⇒ Object
      39 40 41 42 43 44 45 46 47 48 49 50  | 
    
      # File 'lib/generators/graphql/object_generator.rb', line 39 def self.normalize_type_expression(type_expression, mode:, null: true) case type_expression when "Text" ["String", null] when "DateTime", "Datetime" ["GraphQL::Types::ISO8601DateTime", null] when "Date" ["GraphQL::Types::ISO8601Date", null] else super end end  | 
  
Instance Method Details
#create_type_file ⇒ Object
      29 30 31  | 
    
      # File 'lib/generators/graphql/object_generator.rb', line 29 def create_type_file template "object.erb", "#{[:directory]}/types/#{type_file_name}.rb" end  | 
  
#fields ⇒ Object
      33 34 35 36 37  | 
    
      # File 'lib/generators/graphql/object_generator.rb', line 33 def fields columns = [] columns += klass.columns.map { |c| generate_column_string(c) } if class_exists? columns + custom_fields end  |