souls 0.70.8 → 0.71.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e90f232739eeb90fdb74c9d48275e6b6eb00fdf7c383e90e820c3d6a0b91a60a
4
- data.tar.gz: 765dc01c82d96b0c1c7c6948d281a50b7170d8766bd2b1847594f5ac8cd5f4c4
3
+ metadata.gz: d7c1a7b9f13039f7175930a90fbd48e631b57435f981080bc82c14d1d152edb2
4
+ data.tar.gz: dc0bf6f678fa01d4b7a319bba69f4efbecc19db0e46e7bb19316af5916afbfba
5
5
  SHA512:
6
- metadata.gz: 73ffd06e1993b7fb83dcc38c63994db63bc71911a9990708ef9e704d05f3afbca40ca9342ba7128f6cc85cdb02465bebde8fce3a35995991ff90013403d2c875
7
- data.tar.gz: b37167aa97ec51d5696faf5804307a702ca2fe75fb88133f0fe4bdeb83cac9bc31996b512c8919f6d37eaa67f018ebb7ae81ef76b2b7b90cad79c07c661bf715
6
+ metadata.gz: 9af3e9f865eef5b957bbf854f2a4f84adf3bb17b0d13667c007f35b6fbd1be5abd353536105e8df8376ebe7a806cf160ba627d36a07fc960cb6c5ade068231ce
7
+ data.tar.gz: dc45075bbb19ab657dbff6ae38b4d35676e154962c884611c1fd49f37643ac14f4d339fb47f12c22cf024405b1720b00eb1734452854a0eb9004061cc3cc19fa
@@ -42,8 +42,8 @@ module Souls
42
42
 
43
43
  File.open(file_path, "a") do |f|
44
44
  f.write(<<~TEXT)
45
- def self.edge_type: () -> void
46
- def self.connection_type: () -> void
45
+ def self.edge_type: () -> untyped
46
+ def self.connection_type: () -> untyped
47
47
  end
48
48
  end
49
49
  TEXT
@@ -1,6 +1,8 @@
1
1
  require_relative "./mutation"
2
+ require_relative "./mutation_rbs"
2
3
  require_relative "./resolver"
3
4
  require_relative "./type"
5
+ require_relative "./type_rbs"
4
6
  require_relative "./rspec_factory"
5
7
  require_relative "./rspec_mutation"
6
8
  require_relative "./rspec_resolver"
@@ -8,14 +10,19 @@ require_relative "./rspec_resolver"
8
10
  module Souls
9
11
  class Update < Thor
10
12
  desc "scaffold [CLASS_NAME]", "Update Scaffold Params"
11
- def scaffold(_class_name)
12
- invoke(:create_mutation)
13
- invoke(:update_mutation)
14
- invoke(:resolver)
15
- invoke(:type)
16
- invoke(:rspec_factory)
17
- invoke(:rspec_mutation)
18
- invoke(:rspec_resolver)
13
+ def scaffold(class_name)
14
+ create_mutation(class_name)
15
+ update_mutation(class_name)
16
+ resolver(class_name)
17
+ type(class_name)
18
+ rspec_factory(class_name)
19
+ rspec_mutation(class_name)
20
+ rspec_resolver(class_name)
21
+ Dir.chdir(Souls.get_mother_path.to_s) do
22
+ create_mutation_rbs(class_name)
23
+ update_mutation_rbs(class_name)
24
+ type_rbs(class_name)
25
+ end
19
26
  end
20
27
  end
21
28
  end
@@ -8,22 +8,50 @@ module Souls
8
8
  new_file_path = "tmp/create_mutation.rbs"
9
9
  file_path = "#{dir_name}/create_#{singularized_class_name}.rbs"
10
10
  argument = false
11
+ resolve = false
11
12
  File.open(file_path) do |f|
12
13
  File.open(new_file_path, "w") do |new_line|
13
14
  f.each_line do |line|
14
- new_line.write(line)
15
- next unless line.include?("argument") && !argument
15
+ next if line.include?("| (:") && argument
16
16
 
17
- new_cols.each do |col|
18
- type = Souls.type_check(col[:type])
19
- type = "[#{type}]" if col[:array]
20
- args = check_mutation_argument(class_name: class_name)
21
- next if args.include?(col[:column_name])
22
- next if col[:column_name] == "created_at" || col[:column_name] == "updated_at"
17
+ if line.include?("{ :node => String } } | ::GraphQL::ExecutionError )")
18
+ new_line.write(line)
19
+ resolve = false
20
+ elsif resolve
21
+ next
22
+ elsif line.include?("def resolve:") && !resolve
23
+ new_cols.each_with_index do |col, i|
24
+ type = Souls.type_check(col[:type])
25
+ type = "[#{type}]" if col[:array]
26
+ next if col[:column_name] == "created_at" || col[:column_name] == "updated_at"
23
27
 
24
- new_line.write(" argument :#{col[:column_name]}, #{type}, required: false\n")
28
+ if i.zero?
29
+ new_line.write(line)
30
+ else
31
+ new_line.write(" #{col[:column_name]}: #{type}?,\n")
32
+ end
33
+ end
34
+ resolve = true
35
+ elsif line.include?("def self.argument:") && !argument
36
+ new_cols.each_with_index do |col, i|
37
+ type = Souls.type_check(col[:type])
38
+ type = "[#{type}]" if col[:array]
39
+ next if col[:column_name] == "created_at" || col[:column_name] == "updated_at"
40
+
41
+ if i.zero?
42
+ new_line.write(
43
+ " def self.argument: (:#{col[:column_name]}, #{type}, required: false ) -> #{type}\n"
44
+ )
45
+ else
46
+ new_line.write(
47
+ " | (:#{col[:column_name]}, #{type}, required: false ) -> #{type}\n"
48
+ )
49
+ end
50
+ end
51
+ argument = true
52
+ else
53
+ new_line.write(line)
25
54
  end
26
- argument = true
27
55
  end
28
56
  end
29
57
  end
@@ -35,29 +63,58 @@ module Souls
35
63
  end
36
64
 
37
65
  desc "update_mutation [CLASS_NAME]", "Update GraphQL Type from schema.rb"
38
- def update_mutation(class_name)
66
+ def update_mutation_rbs(class_name)
39
67
  singularized_class_name = class_name.singularize.underscore
40
68
  new_cols = Souls.get_columns_num(class_name: singularized_class_name)
41
- dir_name = "./app/graphql/mutations/base/#{singularized_class_name}"
42
- new_file_path = "tmp/update_mutation.rb"
43
- file_path = "#{dir_name}/update_#{singularized_class_name}.rb"
69
+ dir_name = "./sig/api/app/graphql/mutations/base/#{singularized_class_name}"
70
+ new_file_path = "tmp/update_mutation.rbs"
71
+ file_path = "#{dir_name}/update_#{singularized_class_name}.rbs"
44
72
  argument = false
73
+ resolve = false
45
74
  File.open(file_path) do |f|
46
75
  File.open(new_file_path, "w") do |new_line|
47
76
  f.each_line do |line|
48
- new_line.write(line)
49
- next unless line.include?("argument") && !argument
77
+ next if line.include?("| (:") && argument
78
+
79
+ if line.include?("{ :node => String } } | ::GraphQL::ExecutionError )")
80
+ new_line.write(line)
81
+ resolve = false
82
+ elsif resolve
83
+ next
84
+ elsif line.include?("def resolve:") && !resolve
85
+ new_cols.each_with_index do |col, i|
86
+ type = Souls.type_check(col[:type])
87
+ type = "[#{type}]" if col[:array]
88
+ next if col[:column_name] == "created_at" || col[:column_name] == "updated_at"
50
89
 
51
- new_cols.each do |col|
52
- type = Souls.type_check(col[:type])
53
- type = "[#{type}]" if col[:array]
54
- args = check_mutation_argument(class_name: class_name, action: "update")
55
- next if args.include?(col[:column_name])
56
- next if col[:column_name] == "created_at" || col[:column_name] == "updated_at"
90
+ if i.zero?
91
+ new_line.write(line)
92
+ new_line.write(" id: String,\n")
93
+ else
94
+ new_line.write(" #{col[:column_name]}: #{type}?,\n")
95
+ end
96
+ end
97
+ resolve = true
98
+ elsif line.include?("def self.argument:") && !argument
99
+ new_cols.each_with_index do |col, i|
100
+ type = Souls.type_check(col[:type])
101
+ type = "[#{type}]" if col[:array]
102
+ next if col[:column_name] == "created_at" || col[:column_name] == "updated_at"
57
103
 
58
- new_line.write(" argument :#{col[:column_name]}, #{type}, required: false\n")
104
+ if i.zero?
105
+ new_line.write(
106
+ " def self.argument: (:#{col[:column_name]}, #{type}, required: false ) -> #{type}\n"
107
+ )
108
+ else
109
+ new_line.write(
110
+ " | (:#{col[:column_name]}, #{type}, required: false ) -> #{type}\n"
111
+ )
112
+ end
113
+ end
114
+ argument = true
115
+ else
116
+ new_line.write(line)
59
117
  end
60
- argument = true
61
118
  end
62
119
  end
63
120
  end
@@ -67,20 +124,5 @@ module Souls
67
124
  rescue Thor::Error => e
68
125
  raise(Thor::Error, e)
69
126
  end
70
-
71
- private
72
-
73
- def check_mutation_argument(class_name: "user", action: "create")
74
- singularized_class_name = class_name.singularize.underscore
75
- dir_name = "./app/graphql/mutations/base/#{singularized_class_name}"
76
- file_path = "#{dir_name}/#{action}_#{singularized_class_name}.rb"
77
- args = []
78
- File.open(file_path) do |f|
79
- f.each_line do |line|
80
- args << line.split(",")[0].gsub("argument :", "").strip.underscore if line.include?("argument")
81
- end
82
- end
83
- args
84
- end
85
127
  end
86
128
  end
@@ -0,0 +1,43 @@
1
+ module Souls
2
+ class Update < Thor
3
+ desc "type_rbs [CLASS_NAME]", "Update GraphQL Type from schema.rb"
4
+ def type_rbs(class_name)
5
+ singularized_class_name = class_name.singularize.underscore
6
+ new_cols = Souls.get_columns_num(class_name: singularized_class_name)
7
+ dir_name = "./sig/api/app/graphql/types"
8
+ new_file_path = "tmp/create_type.rbs"
9
+ file_path = "#{dir_name}/#{singularized_class_name}_type.rbs"
10
+ argument = false
11
+ File.open(file_path) do |f|
12
+ File.open(new_file_path, "w") do |new_line|
13
+ f.each_line do |line|
14
+ next if line.include?("| (:") && argument
15
+
16
+ if line.include?(" def self.edge_type:")
17
+ new_line.write(line)
18
+ argument = false
19
+ elsif line.include?("def self.argument:") && !argument
20
+ new_cols.each_with_index do |col, i|
21
+ type = Souls.get_type(col[:type])
22
+ type = "[#{type}]" if col[:array]
23
+ if i.zero?
24
+ new_line.write(" def self.field: (:#{col[:column_name]}, #{type}, null: true) -> #{type}\n")
25
+ else
26
+ new_line.write(" | (:#{col[:column_name]}, #{type}, null: true) -> #{type}\n")
27
+ end
28
+ end
29
+ argument = true
30
+ else
31
+ new_line.write(line)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ FileUtils.rm(file_path)
37
+ FileUtils.mv(new_file_path, file_path)
38
+ puts(Paint % ["Updated file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
39
+ rescue Thor::Error => e
40
+ raise(Thor::Error, e)
41
+ end
42
+ end
43
+ end
data/lib/souls/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Souls
2
- VERSION = "0.70.8".freeze
2
+ VERSION = "0.71.3".freeze
3
3
  public_constant :VERSION
4
4
  end
@@ -1 +1 @@
1
- 0.49.8
1
+ 0.50.3
@@ -1 +1 @@
1
- 0.49.8
1
+ 0.50.3
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.70.8
4
+ version: 0.71.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI
@@ -210,11 +210,11 @@ files:
210
210
  - lib/souls/cli/update/mutation.rb
211
211
  - lib/souls/cli/update/mutation_rbs.rb
212
212
  - lib/souls/cli/update/resolver.rb
213
- - lib/souls/cli/update/resolver_rbs.rb
214
213
  - lib/souls/cli/update/rspec_factory.rb
215
214
  - lib/souls/cli/update/rspec_mutation.rb
216
215
  - lib/souls/cli/update/rspec_resolver.rb
217
216
  - lib/souls/cli/update/type.rb
217
+ - lib/souls/cli/update/type_rbs.rb
218
218
  - lib/souls/cli/upgrade/gemfile.rb
219
219
  - lib/souls/cli/upgrade/index.rb
220
220
  - lib/souls/cli/upgrade/submodule.rb
File without changes