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)