souls 0.63.6 → 0.64.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 73945900410549a363adfa2f96535e981a7908e99b8011c099787112ee2c952d
4
- data.tar.gz: 4985467cccfbb4b8640981e7af4bf9289581eeb0c7a2a46cc5834ef2d2d6c1fc
3
+ metadata.gz: 23d8aab2a3e72d2c2f77b43659b3761f33c485c61365ffc1917ec45df7098511
4
+ data.tar.gz: 4220a7d02bc34809ed5089b4ad9a89ee2bda32e9def06a4abb8bd99583e1bce2
5
5
  SHA512:
6
- metadata.gz: d9669e9c807324a46e8b46ab81883cbebe74a5f500bf7d1c34c0ea02407a5c425dcc920f656ea42e6085a82af3f2f526e1f0336a9dc606e236eaf468fc74c482
7
- data.tar.gz: 59be6c42d9b8576f73afabb5eee58b4ca0658cfc721d4e6ae22352b3206ef39da177ebd34339c158ce016bbc8fd02424a97a7c36235b42af1282ef5764b56b0c
6
+ metadata.gz: acac2e0a5c746fd6420834a8fe03f25dd0eda1de887d9526e474b6ff6f78ecc13b06918ac057ff4939b56367014340ceef2963392d6a3770dabc497fdd6e1636
7
+ data.tar.gz: c756718c2c35fb7f8e02951a90be8d73a13c126c25814e47868328b16145b01baed9a028eb839107c264f679a4228552c2cc1d3267f4f5caa582513dbb82fe75
@@ -3,17 +3,18 @@ module Souls
3
3
  desc "mutation [CLASS_NAME]", "Generate GraphQL Mutation from schema.rb"
4
4
  def mutation(class_name)
5
5
  singularized_class_name = class_name.singularize
6
- file_dir = "./app/graphql/mutations/base"
7
- FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
8
- file_path = "./app/graphql/mutations/base/#{singularized_class_name}/create_#{singularized_class_name}.rb"
9
- return "Mutation already exist! #{file_path}" if File.exist?(file_path)
10
6
 
11
- create_mutation(class_name: singularized_class_name)
12
- update_mutation(class_name: singularized_class_name)
13
- delete_mutation(class_name: singularized_class_name)
14
- destroy_delete_mutation(class_name: singularized_class_name)
15
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
16
- file_path
7
+ Dir.chdir(Souls.get_api_path.to_s) do
8
+ file_dir = "./app/graphql/mutations/base"
9
+ FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
10
+ file_path = "./app/graphql/mutations/base/#{singularized_class_name}/create_#{singularized_class_name}.rb"
11
+ return "Mutation already exist! #{file_path}" if File.exist?(file_path)
12
+
13
+ create_mutation(class_name: singularized_class_name)
14
+ update_mutation(class_name: singularized_class_name)
15
+ delete_mutation(class_name: singularized_class_name)
16
+ destroy_delete_mutation(class_name: singularized_class_name)
17
+ end
17
18
  rescue Thor::Error => e
18
19
  raise(Thor::Error, e)
19
20
  end
@@ -21,64 +22,77 @@ module Souls
21
22
  private
22
23
 
23
24
  def create_mutation(class_name: "user")
24
- file_path = ""
25
25
  singularized_class_name = class_name.singularize.underscore
26
- Dir.chdir(Souls.get_api_path.to_s) do
27
- file_dir = "./app/graphql/mutations/base/#{singularized_class_name}"
28
- FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
29
- file_path = "#{file_dir}/create_#{singularized_class_name}.rb"
30
- raise(Thor::Error, "Mutation RBS already exist! #{file_path}") if File.exist?(file_path)
31
-
32
- params = Souls.get_relation_params(class_name: singularized_class_name, col: "mutation")
33
- File.open(file_path, "w") do |f|
34
- f.write(<<~TEXT)
35
- module Mutations
36
- module Base::#{singularized_class_name.camelize}
37
- class Create#{singularized_class_name.camelize} < BaseMutation
38
- field :#{singularized_class_name}_edge, Types::#{singularized_class_name.camelize}Type.edge_type, null: false
39
- field :error, String, null: true
40
-
41
- def resolve(args)
42
- TEXT
43
- end
44
- File.open(file_path, "a") do |f|
45
- if params[:relation_params]
46
- f.write(" user_id = context[:user][:id]\n") if params[:user_exist]
47
- params[:relation_params].each_with_index do |col, _i|
48
- next if col[:column_name] == "user_id"
26
+ file_dir = "./app/graphql/mutations/base/#{singularized_class_name}"
27
+ FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
28
+ file_path = "#{file_dir}/create_#{singularized_class_name}.rb"
29
+ raise(Thor::Error, "Mutation RBS already exist! #{file_path}") if File.exist?(file_path)
49
30
 
50
- f.write(" #{col[:column_name]} = SoulsApiSchema.from_global_id(args[:#{col[:column_name]}])\n")
51
- end
52
- relation_params =
53
- params[:relation_params].map do |n|
54
- ", #{n[:column_name]}: #{n[:column_name]}"
55
- end
56
- f.write(" new_record = { **args #{relation_params.compact.join} }\n")
57
- f.write(" data = ::#{singularized_class_name.camelize}.new(new_record)\n")
31
+ params = Souls.get_relation_params(class_name: singularized_class_name, col: "mutation")
32
+ File.open(file_path, "w") do |f|
33
+ f.write(<<~TEXT)
34
+ module Mutations
35
+ module Base::#{singularized_class_name.camelize}
36
+ class Create#{singularized_class_name.camelize} < BaseMutation
37
+ field :#{singularized_class_name}_edge, Types::#{singularized_class_name.camelize}Type.edge_type, null: false
38
+ field :error, String, null: true
39
+
40
+ TEXT
41
+ end
42
+
43
+ File.open(file_path, "a") do |f|
44
+ params[:params].each_with_index do |param, i|
45
+ type = Souls.rbs_type_check(param[:type])
46
+ type = "[#{type}]" if param[:array]
47
+ if i == params[:params].size - 1
48
+ f.write(" argument :#{param[:column_name]}, #{type}, null: true\n\n")
49
+ f.write(" def resolve(args)\n")
58
50
  else
59
- f.write(" data = ::#{singularized_class_name.camelize}.new(args)\n")
51
+ f.write(" argument :#{param[:column_name]}, #{type}, null: true\n")
60
52
  end
61
53
  end
62
- File.open(file_path, "a") do |new_line|
63
- new_line.write(<<~TEXT)
64
- raise(StandardError, data.errors.full_messages) unless data.save
54
+ end
55
+
56
+ File.open(file_path, "a") do |f|
57
+ if params[:relation_params]
58
+ f.write(" user_id = context[:user][:id]\n") if params[:user_exist]
59
+ params[:relation_params].each_with_index do |col, _i|
60
+ next if col[:column_name] == "user_id"
65
61
 
66
- { #{singularized_class_name}_edge: { node: data } }
67
- rescue StandardError => error
68
- GraphQL::ExecutionError.new(error.message)
69
- end
62
+ f.write(" #{col[:column_name]} = SoulsApiSchema.from_global_id(args[:#{col[:column_name]}])\n")
63
+ end
64
+ relation_params =
65
+ params[:relation_params].map do |n|
66
+ ", #{n[:column_name]}: #{n[:column_name]}"
67
+ end
68
+ f.write(" new_record = { **args #{relation_params.compact.join} }\n")
69
+ f.write(" data = ::#{singularized_class_name.camelize}.new(new_record)\n")
70
+ else
71
+ f.write(" data = ::#{singularized_class_name.camelize}.new(args)\n")
72
+ end
73
+ end
74
+ File.open(file_path, "a") do |new_line|
75
+ new_line.write(<<~TEXT)
76
+ raise(StandardError, data.errors.full_messages) unless data.save
77
+
78
+ { #{singularized_class_name}_edge: { node: data } }
79
+ rescue StandardError => error
80
+ GraphQL::ExecutionError.new(error.message)
70
81
  end
71
82
  end
72
83
  end
73
- TEXT
74
- end
84
+ end
85
+ TEXT
75
86
  end
87
+ puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
76
88
  file_path
77
89
  end
78
90
 
79
91
  ## 2.Mutation - Update
80
92
  def update_mutation_head(class_name: "user")
81
- file_path = "./app/graphql/mutations/base/#{class_name}/update_#{class_name}.rb"
93
+ singularized_class_name = class_name.singularize.underscore
94
+ file_dir = "./app/graphql/mutations/base/#{singularized_class_name}"
95
+ file_path = "#{file_dir}/update_#{class_name}.rb"
82
96
  File.open(file_path, "w") do |new_line|
83
97
  new_line.write(<<~TEXT)
84
98
  module Mutations
@@ -170,6 +184,7 @@ module Souls
170
184
  end
171
185
  TEXT
172
186
  end
187
+ puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
173
188
  file_path
174
189
  end
175
190
 
@@ -209,6 +224,7 @@ module Souls
209
224
  end
210
225
  TEXT
211
226
  end
227
+ puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
212
228
  file_path
213
229
  end
214
230
 
@@ -238,6 +254,7 @@ module Souls
238
254
  end
239
255
  TEXT
240
256
  end
257
+ puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
241
258
  file_path
242
259
  rescue StandardError => e
243
260
  puts(e)
data/lib/souls/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Souls
2
- VERSION = "0.63.6".freeze
2
+ VERSION = "0.64.0".freeze
3
3
  public_constant :VERSION
4
4
  end
@@ -1 +1 @@
1
- 0.42.6
1
+ 0.43.0
@@ -1 +1 @@
1
- 0.42.6
1
+ 0.43.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: souls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.63.6
4
+ version: 0.64.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-09-30 00:00:00.000000000 Z
13
+ date: 2021-10-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport