Module: Graphql::Generators::Core

Included in:
FunctionGenerator, InstallGenerator, LoaderGenerator, MutationGenerator, TypeGeneratorBase
Defined in:
lib/generators/graphql/core.rb

Instance Method Summary collapse

Instance Method Details

#create_dir(dir) ⇒ Object


36
37
38
39
40
41
# File 'lib/generators/graphql/core.rb', line 36

def create_dir(dir)
  empty_directory(dir)
  if !options[:skip_keeps]
    create_file("#{dir}/.keep")
  end
end

#create_mutation_root_typeObject


26
27
28
29
30
# File 'lib/generators/graphql/core.rb', line 26

def create_mutation_root_type
  create_dir("#{options[:directory]}/mutations")
  template("mutation_type.erb", "#{options[:directory]}/types/mutation_type.rb", { skip: true })
  insert_root_type('mutation', 'MutationType')
end

#insert_root_type(type, name) ⇒ Object


17
18
19
20
21
22
23
24
# File 'lib/generators/graphql/core.rb', line 17

def insert_root_type(type, name)
  log :add_root_type, type
  sentinel = /GraphQL\:\:Schema\.define do\s*\n/m

  in_root do
    inject_into_file schema_file_path, "  #{type}(Types::#{name})\n", after: sentinel, verbose: false, force: false
  end
end

#schema_file_pathObject


32
33
34
# File 'lib/generators/graphql/core.rb', line 32

def schema_file_path
  "#{options[:directory]}/#{schema_name.underscore}.rb"
end