lib/souls/generate/mutation.rb in souls-0.21.6 vs lib/souls/generate/mutation.rb in souls-0.21.7
- old
+ new
@@ -3,13 +3,13 @@
class << self
## Generate 4 Mutations - ["create", "update", "delete", "destroy_delete"]
## 1.Mutation - Create
def create_mutation_head class_name: "user"
singularized_class_name = class_name.singularize.underscore
- dir_name = "./app/graphql/mutations/#{singularized_class_name}"
+ dir_name = "./app/graphql/mutations/base/#{singularized_class_name}"
FileUtils.mkdir_p dir_name unless Dir.exist? dir_name
- file_path = "./app/graphql/mutations/#{singularized_class_name}/create_#{singularized_class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{singularized_class_name}/create_#{singularized_class_name}.rb"
File.open(file_path, "w") do |new_line|
new_line.write <<~EOS
module Mutations
module #{singularized_class_name.camelize}
class Create#{singularized_class_name.camelize} < BaseMutation
@@ -20,11 +20,11 @@
end
file_path
end
def create_mutation_params class_name: "souls"
- file_path = "./app/graphql/mutations/#{class_name}/create_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/create_#{class_name}.rb"
path = "./db/schema.rb"
@on = false
@user_exist = false
@relation_params = []
File.open(file_path, "a") do |new_line|
@@ -68,21 +68,21 @@
@relation_params
end
def create_mutation_after_params class_name: "article", relation_params: []
return false if relation_params.empty?
- file_path = "./app/graphql/mutations/#{class_name}/create_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/create_#{class_name}.rb"
relation_params.each do |params_name|
File.open(file_path, "a") do |new_line|
new_line.write " _, args[:#{params_name}] = SoulsApiSchema.from_global_id(args[:#{params_name}])\n"
end
end
true
end
def create_mutation_end class_name: "souls"
- file_path = "./app/graphql/mutations/#{class_name}/create_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/create_#{class_name}.rb"
File.open(file_path, "a") do |new_line|
new_line.write <<~EOS
#{class_name} = ::#{class_name.camelize}.new args
if #{class_name}.save
{ #{class_name}_edge: { node: #{class_name} } }
@@ -100,11 +100,11 @@
file_path
end
## 2.Mutation - Update
def update_mutation_head class_name: "souls"
- file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/update_#{class_name}.rb"
File.open(file_path, "w") do |new_line|
new_line.write <<~EOS
module Mutations
module #{class_name.camelize}
class Update#{class_name.camelize} < BaseMutation
@@ -115,11 +115,11 @@
end
file_path
end
def update_mutation_params class_name: "souls"
- file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/update_#{class_name}.rb"
path = "./db/schema.rb"
@on = false
@user_exist = false
@relation_params = []
File.open(file_path, "a") do |new_line|
@@ -165,21 +165,21 @@
@relation_params
end
def update_mutation_after_params class_name: "article", relation_params: []
return false if relation_params.empty?
- file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/update_#{class_name}.rb"
relation_params.each do |params_name|
File.open(file_path, "a") do |new_line|
new_line.write " _, args[:#{params_name}] = SoulsApiSchema.from_global_id(args[:#{params_name}])\n"
end
end
true
end
def update_mutation_end class_name: "souls"
- file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/update_#{class_name}.rb"
File.open(file_path, "a") do |new_line|
new_line.write <<~EOS
#{class_name} = ::#{class_name.camelize}.find args[:id]
#{class_name}.update args
{ #{class_name}_edge: { node: ::#{class_name.camelize}.find(args[:id]) } }
@@ -193,21 +193,21 @@
end
file_path
end
def update_mutation class_name: "souls"
- file_path = "./app/graphql/mutations/#{class_name}/update_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/update_#{class_name}.rb"
return "Mutation already exist! #{file_path}" if File.exist? file_path
update_mutation_head class_name: class_name
relation_params = update_mutation_params class_name: class_name
update_mutation_after_params class_name: class_name, relation_params: relation_params
update_mutation_end class_name: class_name
end
# 3. Mutation - Delete
def delete_mutation class_name: "souls"
- file_path = "./app/graphql/mutations/#{class_name}/delete_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/delete_#{class_name}.rb"
return "Mutation already exist! #{file_path}" if File.exist? file_path
File.open(file_path, "w") do |f|
f.write <<~EOS
module Mutations
module #{class_name.camelize}
@@ -231,11 +231,11 @@
file_path
end
# 4. Mutation - Destroy Delete
def destroy_delete_mutation class_name: "souls"
- file_path = "./app/graphql/mutations/#{class_name}/destroy_delete_#{class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{class_name}/destroy_delete_#{class_name}.rb"
return "Mutation already exist! #{file_path}" if File.exist? file_path
File.open(file_path, "w") do |f|
f.write <<~EOS
module Mutations
module #{class_name.camelize}
@@ -261,14 +261,15 @@
puts error
end
def mutation class_name: "souls"
singularized_class_name = class_name.singularize
- file_path = "./app/graphql/mutations/#{singularized_class_name}/create_#{singularized_class_name}.rb"
+ file_path = "./app/graphql/mutations/base/#{singularized_class_name}/create_#{singularized_class_name}.rb"
return "Mutation already exist! #{file_path}" if File.exist? file_path
create_mutation_head class_name: singularized_class_name
relation_params = create_mutation_params class_name: singularized_class_name
create_mutation_after_params class_name: singularized_class_name, relation_params: relation_params
+ # puts "File Created!\n#{file_path}"
[
create_mutation_end(class_name: singularized_class_name),
update_mutation(class_name: singularized_class_name),
delete_mutation(class_name: singularized_class_name),
destroy_delete_mutation(class_name: singularized_class_name)