Module: Graphql::Generators::Core

Instance Method Summary collapse

Instance Method Details

#create_dir(dir) ⇒ Object



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

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

#insert_root_type(type, name) ⇒ Object



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

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

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

#module_namespacing_when_supportedObject



39
40
41
42
43
44
45
# File 'lib/generators/graphql/core.rb', line 39

def module_namespacing_when_supported
  if defined?(module_namespacing)
    module_namespacing { yield }
  else
    yield
  end
end

#schema_file_pathObject



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

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