module Graphql::Generators::Core
Public Class Methods
Source
# File lib/generators/graphql/core.rb, line 8 def self.included(base) base.send( :class_option, :directory, type: :string, default: "app/graphql", desc: "Directory where generated files should be saved" ) end
Public Instance Methods
Source
# File lib/generators/graphql/core.rb, line 33 def create_dir(dir) empty_directory(dir) if !options[:skip_keeps] create_file("#{dir}/.keep") end end
# File lib/generators/graphql/core.rb, line 18 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
# File lib/generators/graphql/core.rb, line 40 def module_namespacing_when_supported if defined?(module_namespacing) module_namespacing { yield } else yield end end
Source
# File lib/generators/graphql/core.rb, line 29 def schema_file_path "#{options[:directory]}/#{schema_name.underscore}.rb" end