souls 1.7.6 → 1.7.10
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 +4 -4
- data/lib/souls/cli/generate/job.rb +8 -26
- data/lib/souls/cli/generate/job_rbs.rb +14 -3
- data/lib/souls/cli/generate/mutation.rb +0 -8
- data/lib/souls/cli/generate/query.rb +4 -8
- data/lib/souls/cli/sync/model.rb +4 -0
- data/lib/souls/cli/sync/pubsub.rb +3 -3
- data/lib/souls/cli/update/mutation_rbs.rb +35 -40
- data/lib/souls/version.rb +1 -1
- data/lib/souls/versions/.souls_api_version +1 -1
- data/lib/souls/versions/.souls_worker_version +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f6c5a53cd43ebafd36848944a31ce697bc6780faa078df46baa10ab4eb30ed2
|
4
|
+
data.tar.gz: 2516ee278cc512324ffb07d0c9f4993f22342877336512da48a80129bf566ba6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef6f000e26a248d67387ed0211df95e5836eb648613bfa32b8fc0b79df6b4c67875f245f542c106e261dc71a87c2bd259d8148ffb6b88ea3706f88e1bb0d6430
|
7
|
+
data.tar.gz: 846bf68fd468431edac1eeb647174434f6c7d8a9eb5567e083e54c2cbbb6efd80334d7fadc4ecb6caaab7e8d093a1a167ba562b99d0fe5a01f508e50be4cf607
|
@@ -10,7 +10,6 @@ module Souls
|
|
10
10
|
create_job_type(class_name)
|
11
11
|
create_job(class_name)
|
12
12
|
end
|
13
|
-
update_query_type(class_name)
|
14
13
|
Souls::Generate.new.invoke(:job_rbs, [class_name], {})
|
15
14
|
Souls::Generate.new.invoke(:rspec_job, [class_name], { mailer: options[:mailer] })
|
16
15
|
rescue Thor::Error => e
|
@@ -31,8 +30,10 @@ module Souls
|
|
31
30
|
class #{class_name.camelize} < BaseQuery
|
32
31
|
description ""
|
33
32
|
type Types::#{class_name.camelize}Type, null: false
|
34
|
-
|
33
|
+
|
35
34
|
def resolve
|
35
|
+
# Difine method here
|
36
|
+
{ response: "Job done!" }
|
36
37
|
end
|
37
38
|
end
|
38
39
|
end
|
@@ -41,7 +42,7 @@ module Souls
|
|
41
42
|
puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
|
42
43
|
file_path
|
43
44
|
end
|
44
|
-
|
45
|
+
|
45
46
|
def create_job_type(class_name)
|
46
47
|
file_dir = "./app/graphql/types/"
|
47
48
|
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
@@ -52,6 +53,7 @@ module Souls
|
|
52
53
|
f.write(<<~TEXT)
|
53
54
|
module Types
|
54
55
|
class #{class_name.camelize}Type < BaseObject
|
56
|
+
field :response, String, null: true
|
55
57
|
end
|
56
58
|
end
|
57
59
|
TEXT
|
@@ -72,11 +74,11 @@ module Souls
|
|
72
74
|
class #{class_name.camelize} < BaseQuery
|
73
75
|
description ""
|
74
76
|
type Types::#{class_name.camelize}Type, null: false
|
75
|
-
|
77
|
+
|
76
78
|
def resolve
|
77
79
|
# First, instantiate the Mailgun Client with your API key
|
78
80
|
mg_client = ::Mailgun::Client.new("YOUR-API-KEY")
|
79
|
-
|
81
|
+
|
80
82
|
# Define your message parameters
|
81
83
|
message_params = {
|
82
84
|
from: "postmaster@from.mail.com",
|
@@ -84,7 +86,7 @@ module Souls
|
|
84
86
|
subject: "SOULs Mailer test!",
|
85
87
|
text: "It is really easy to send a message!"
|
86
88
|
}
|
87
|
-
|
89
|
+
|
88
90
|
# Send your message through the client
|
89
91
|
mg_client.send_message("YOUR-MAILGUN-DOMAIN", message_params)
|
90
92
|
{ response: "Job done!" }
|
@@ -117,25 +119,5 @@ module Souls
|
|
117
119
|
puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
|
118
120
|
file_path
|
119
121
|
end
|
120
|
-
|
121
|
-
def update_query_type(class_name)
|
122
|
-
file_dir = "./app/graphql/types/base/"
|
123
|
-
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
124
|
-
file_path = "#{file_dir}query_type.rb"
|
125
|
-
raise(StandardError, "Query type doesn't exist, please re-create it") unless File.exist?(file_path)
|
126
|
-
|
127
|
-
lines = File.readlines(file_path)
|
128
|
-
unless lines[-1].strip == "end" and lines[-2].strip == "end"
|
129
|
-
puts(Paint % ["Base query file has changed significantly and cannot be modified automatically, please update routes manually"], :yellow)
|
130
|
-
return
|
131
|
-
end
|
132
|
-
|
133
|
-
insert_string = " field :#{class_name.singularize}, resolver: Queries::#{class_name.camelize}\n"
|
134
|
-
lines.insert(-3, insert_string)
|
135
|
-
File.open(file_path, "w") { |f| f.write(lines.join) }
|
136
|
-
|
137
|
-
puts(Paint % ["Updated file : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
|
138
|
-
file_path
|
139
|
-
end
|
140
122
|
end
|
141
123
|
end
|
@@ -9,18 +9,29 @@ module Souls
|
|
9
9
|
file_dir = "./sig/#{worker_name}/app/graphql/queries/"
|
10
10
|
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
11
11
|
file_path = "#{file_dir}#{singularized_class_name}.rbs"
|
12
|
+
type_file_path = "./sig/#{worker_name}/app/graphql/types/#{singularized_class_name}_type.rbs"
|
12
13
|
File.open(file_path, "w") do |f|
|
13
14
|
f.write(<<~TEXT)
|
14
|
-
module
|
15
|
-
|
16
|
-
class #{singularized_class_name.camelize} < BaseMutation
|
15
|
+
module Queries
|
16
|
+
class #{singularized_class_name.camelize} < BaseQuery
|
17
17
|
def self.description: (String) -> untyped
|
18
18
|
def self.field: (:response, String, null: false) -> untyped
|
19
|
+
def self.type: (untyped, null: false) -> untyped
|
20
|
+
end
|
21
|
+
end
|
22
|
+
TEXT
|
23
|
+
end
|
24
|
+
File.open(type_file_path, "w") do |f|
|
25
|
+
f.write(<<~TEXT)
|
26
|
+
module Types
|
27
|
+
class #{singularized_class_name.camelize}Type < BaseObject
|
28
|
+
def self.field: (:response, String, null: true) -> untyped
|
19
29
|
end
|
20
30
|
end
|
21
31
|
TEXT
|
22
32
|
end
|
23
33
|
puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
|
34
|
+
puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [type_file_path.to_s, :white] }])
|
24
35
|
end
|
25
36
|
file_path
|
26
37
|
rescue Thor::Error => e
|
@@ -79,8 +79,6 @@ module Souls
|
|
79
79
|
raise(StandardError, data.errors.full_messages) unless data.save
|
80
80
|
|
81
81
|
{ #{singularized_class_name}_edge: { node: data } }
|
82
|
-
rescue StandardError => error
|
83
|
-
GraphQL::ExecutionError.new(error.message)
|
84
82
|
end
|
85
83
|
end
|
86
84
|
end
|
@@ -152,8 +150,6 @@ module Souls
|
|
152
150
|
raise(StandardError, data.errors.full_messages) unless data.save
|
153
151
|
|
154
152
|
{ #{singularized_class_name}_edge: { node: data } }
|
155
|
-
rescue StandardError => error
|
156
|
-
GraphQL::ExecutionError.new(error.message)
|
157
153
|
end
|
158
154
|
end
|
159
155
|
end
|
@@ -182,8 +178,6 @@ module Souls
|
|
182
178
|
#{class_name} = ::#{class_name.camelize}.find data_id
|
183
179
|
#{class_name}.update(is_deleted: true)
|
184
180
|
{ #{class_name}: ::#{class_name.camelize}.find(data_id) }
|
185
|
-
rescue StandardError => error
|
186
|
-
GraphQL::ExecutionError.new(error.message)
|
187
181
|
end
|
188
182
|
end
|
189
183
|
end
|
@@ -212,8 +206,6 @@ module Souls
|
|
212
206
|
#{class_name} = ::#{class_name.camelize}.find data_id
|
213
207
|
#{class_name}.destroy
|
214
208
|
{ #{class_name}: #{class_name} }
|
215
|
-
rescue StandardError => error
|
216
|
-
GraphQL::ExecutionError.new(error.message)
|
217
209
|
end
|
218
210
|
end
|
219
211
|
end
|
@@ -5,15 +5,15 @@ module Souls
|
|
5
5
|
file_dir = "./app/graphql/queries/"
|
6
6
|
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
7
7
|
singularized_class_name = class_name.singularize
|
8
|
-
|
9
|
-
|
8
|
+
create_individual_query(class_name: singularized_class_name)
|
9
|
+
create_index_query(class_name: singularized_class_name)
|
10
10
|
rescue Thor::Error => e
|
11
11
|
raise(Thor::Error, e)
|
12
12
|
end
|
13
13
|
|
14
14
|
private
|
15
15
|
|
16
|
-
def
|
16
|
+
def create_index_query(class_name: "user")
|
17
17
|
file_path = "./app/graphql/queries/#{class_name.pluralize}.rb"
|
18
18
|
return "Query already exist! #{file_path}" if File.exist?(file_path)
|
19
19
|
|
@@ -25,8 +25,6 @@ module Souls
|
|
25
25
|
|
26
26
|
def resolve
|
27
27
|
::#{class_name.camelize}.all
|
28
|
-
rescue StandardError => error
|
29
|
-
GraphQL::ExecutionError.new(error.message)
|
30
28
|
end
|
31
29
|
end
|
32
30
|
end
|
@@ -38,7 +36,7 @@ module Souls
|
|
38
36
|
raise(StandardError, e)
|
39
37
|
end
|
40
38
|
|
41
|
-
def
|
39
|
+
def create_individual_query(class_name: "user")
|
42
40
|
file_path = "./app/graphql/queries/#{class_name}.rb"
|
43
41
|
return "Query already exist! #{file_path}" if File.exist?(file_path)
|
44
42
|
|
@@ -52,8 +50,6 @@ module Souls
|
|
52
50
|
def resolve args
|
53
51
|
_, data_id = SoulsApiSchema.from_global_id args[:id]
|
54
52
|
::#{class_name.camelize}.find(data_id)
|
55
|
-
rescue StandardError => error
|
56
|
-
GraphQL::ExecutionError.new(error.message)
|
57
53
|
end
|
58
54
|
end
|
59
55
|
end
|
data/lib/souls/cli/sync/model.rb
CHANGED
@@ -90,10 +90,10 @@ module Souls
|
|
90
90
|
Dir.chdir(Souls.get_mother_path.to_s) do
|
91
91
|
worker_paths.each do |worker|
|
92
92
|
workers =
|
93
|
-
Dir["apps/#{worker}/app/graphql/
|
94
|
-
file.gsub("apps/#{worker}/app/graphql/
|
93
|
+
Dir["apps/#{worker}/app/graphql/queries/*.rb"].map do |file|
|
94
|
+
file.gsub("apps/#{worker}/app/graphql/queries/", "").gsub(".rb", "")
|
95
95
|
end
|
96
|
-
workers.delete("
|
96
|
+
workers.delete("base_query")
|
97
97
|
workers.each do |file|
|
98
98
|
response[:"souls_#{worker}_#{file}"] = 1
|
99
99
|
end
|
@@ -8,58 +8,53 @@ module Souls
|
|
8
8
|
new_cols = Souls.get_columns_num(class_name: singularized_class_name)
|
9
9
|
end
|
10
10
|
dir_name = "./sig/api/app/graphql/mutations/base/#{singularized_class_name}"
|
11
|
-
new_file_path = "config/create_mutation.rbs"
|
12
11
|
file_path = "#{dir_name}/create_#{singularized_class_name}.rbs"
|
13
12
|
argument = false
|
14
13
|
resolve = false
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
write_txt = ""
|
15
|
+
File.open(file_path, "r") do |f|
|
16
|
+
f.each_line do |line|
|
17
|
+
next if line.include?("| (:") && argument
|
19
18
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
19
|
+
if line.include?("{ :node => String } } | ::GraphQL::ExecutionError )")
|
20
|
+
write_txt += line
|
21
|
+
resolve = false
|
22
|
+
elsif resolve
|
23
|
+
next
|
24
|
+
elsif line.include?("def resolve:") && !resolve
|
25
|
+
new_cols.each_with_index do |col, i|
|
26
|
+
type = Souls.type_check(col[:type])
|
27
|
+
type = "[#{type}]" if col[:array]
|
28
|
+
next if col[:column_name] == "created_at" || col[:column_name] == "updated_at"
|
30
29
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
end
|
30
|
+
if i.zero?
|
31
|
+
write_txt += line
|
32
|
+
else
|
33
|
+
write_txt += " #{col[:column_name]}: #{type}?,\n"
|
36
34
|
end
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
35
|
+
end
|
36
|
+
resolve = true
|
37
|
+
elsif line.include?("def self.argument:") && !argument
|
38
|
+
new_cols.each_with_index do |col, i|
|
39
|
+
type = Souls.type_check(col[:type])
|
40
|
+
type = "[#{type}]" if col[:array]
|
41
|
+
next if col[:column_name] == "created_at" || col[:column_name] == "updated_at"
|
43
42
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
" | (:#{col[:column_name]}, #{type}, required: false ) -> #{type}\n"
|
51
|
-
)
|
52
|
-
end
|
43
|
+
if i.zero?
|
44
|
+
write_txt +=
|
45
|
+
" def self.argument: (:#{col[:column_name]}, #{type}, required: false ) -> #{type}\n"
|
46
|
+
else
|
47
|
+
write_txt +=
|
48
|
+
" | (:#{col[:column_name]}, #{type}, required: false ) -> #{type}\n"
|
53
49
|
end
|
54
|
-
argument = true
|
55
|
-
else
|
56
|
-
new_line.write(line)
|
57
50
|
end
|
51
|
+
argument = true
|
52
|
+
else
|
53
|
+
write_txt += line
|
58
54
|
end
|
59
55
|
end
|
60
56
|
end
|
61
|
-
|
62
|
-
FileUtils.mv(new_file_path, file_path)
|
57
|
+
File.open(file_path, "w") { |f| f.write(write_txt) }
|
63
58
|
puts(Paint % ["Updated file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
|
64
59
|
rescue Thor::Error => e
|
65
60
|
raise(Thor::Error, e)
|
data/lib/souls/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.7.
|
1
|
+
1.7.10
|
@@ -1 +1 @@
|
|
1
|
-
1.7.
|
1
|
+
1.7.10
|
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: 1.7.
|
4
|
+
version: 1.7.10
|
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-11-
|
13
|
+
date: 2021-11-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -226,7 +226,7 @@ licenses:
|
|
226
226
|
metadata:
|
227
227
|
homepage_uri: https://souls.elsoul.nl
|
228
228
|
source_code_uri: https://github.com/elsoul/souls
|
229
|
-
changelog_uri: https://github.com/elsoul/souls/releases/tag/v1.7.
|
229
|
+
changelog_uri: https://github.com/elsoul/souls/releases/tag/v1.7.10
|
230
230
|
post_install_message:
|
231
231
|
rdoc_options: []
|
232
232
|
require_paths:
|