souls 0.51.0 → 0.52.1
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/README.md +5 -1
- data/exe/souls +3 -200
- data/lib/souls/api/generate/application.rb +97 -94
- data/lib/souls/api/generate/connection.rb +5 -4
- data/lib/souls/api/generate/edge.rb +5 -4
- data/lib/souls/api/generate/index.rb +0 -1
- data/lib/souls/api/generate/manager.rb +9 -7
- data/lib/souls/api/generate/model.rb +16 -18
- data/lib/souls/api/generate/mutation.rb +217 -218
- data/lib/souls/api/generate/policy.rb +5 -5
- data/lib/souls/api/generate/query.rb +51 -51
- data/lib/souls/api/generate/resolver.rb +115 -115
- data/lib/souls/api/generate/rspec_factory.rb +53 -53
- data/lib/souls/api/generate/rspec_model.rb +5 -5
- data/lib/souls/api/generate/rspec_mutation.rb +178 -178
- data/lib/souls/api/generate/rspec_policy.rb +5 -5
- data/lib/souls/api/generate/rspec_query.rb +111 -111
- data/lib/souls/api/generate/rspec_resolver.rb +163 -163
- data/lib/souls/api/generate/type.rb +66 -66
- data/lib/souls/api/index.rb +7 -4
- data/lib/souls/api/update/index.rb +15 -0
- data/lib/souls/api/update/mutation.rb +68 -64
- data/lib/souls/api/update/resolver.rb +59 -60
- data/lib/souls/api/update/rspec_factory.rb +40 -39
- data/lib/souls/api/update/rspec_mutation.rb +84 -83
- data/lib/souls/api/update/rspec_resolver.rb +70 -69
- data/lib/souls/api/update/type.rb +39 -38
- data/lib/souls/cli/console/index.rb +13 -1
- data/lib/souls/cli/create/index.rb +98 -94
- data/lib/souls/cli/db/index.rb +122 -1
- data/lib/souls/cli/docker/index.rb +30 -38
- data/lib/souls/cli/gcloud/compute/index.rb +100 -98
- data/lib/souls/cli/gcloud/iam/index.rb +84 -69
- data/lib/souls/cli/gcloud/index.rb +36 -35
- data/lib/souls/cli/gcloud/pubsub/subscriptions.rb +40 -27
- data/lib/souls/cli/gcloud/pubsub/topics.rb +16 -10
- data/lib/souls/cli/gcloud/run/index.rb +23 -17
- data/lib/souls/cli/gcloud/sql/index.rb +66 -47
- data/lib/souls/cli/index.rb +3 -20
- data/lib/souls/cli/init/index.rb +140 -140
- data/lib/souls/cli/release/release.rb +106 -105
- data/lib/souls/cli/server/index.rb +12 -1
- data/lib/souls/cli/sync/conf.rb +39 -38
- data/lib/souls/cli/sync/model.rb +19 -20
- data/lib/souls/cli/sync/pubsub.rb +69 -70
- data/lib/souls/cli/upgrade/gemfile.rb +108 -0
- data/lib/souls/cli/upgrade/index.rb +1 -1
- data/lib/souls/cli.rb +57 -0
- data/lib/souls/index.rb +1 -5
- 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
- data/lib/souls/worker/generate/index.rb +1 -1
- data/lib/souls/worker/generate/job.rb +45 -0
- data/lib/souls/worker/generate/mailer.rb +38 -43
- data/lib/souls/worker/index.rb +3 -1
- data/lib/souls.rb +2 -0
- metadata +19 -5
- data/lib/souls/api/generate/migration.rb +0 -51
- data/lib/souls/cli/upgrade/gem_update.rb +0 -107
- data/lib/souls/worker/generate/mutation.rb +0 -44
@@ -1,51 +0,0 @@
|
|
1
|
-
module Souls
|
2
|
-
module Api
|
3
|
-
module Generate
|
4
|
-
class << self
|
5
|
-
def create_migration(class_name: "user")
|
6
|
-
pluralized_class_name = class_name.underscore.pluralize
|
7
|
-
system("rake db:create_migration NAME=create_#{pluralized_class_name}")
|
8
|
-
file_path = Dir["db/migrate/*create_#{pluralized_class_name}.rb"].first
|
9
|
-
File.open(file_path, "w") do |f|
|
10
|
-
f.write(<<~TEXT)
|
11
|
-
class Create#{pluralized_class_name.camelize} < ActiveRecord::Migration[6.1]
|
12
|
-
def change
|
13
|
-
create_table :#{pluralized_class_name} do |t|
|
14
|
-
|
15
|
-
t.boolean :is_deleted, null: false, default: false
|
16
|
-
t.timestamps
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
TEXT
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def add_column(class_name: "user")
|
25
|
-
pluralized_class_name = class_name.underscore.pluralize
|
26
|
-
system("rake db:create_migration NAME=add_column_to_#{pluralized_class_name}")
|
27
|
-
end
|
28
|
-
|
29
|
-
def rename_column(class_name: "user")
|
30
|
-
pluralized_class_name = class_name.underscore.pluralize
|
31
|
-
system("rake db:create_migration NAME=rename_column_to_#{pluralized_class_name}")
|
32
|
-
end
|
33
|
-
|
34
|
-
def change_column(class_name: "user")
|
35
|
-
pluralized_class_name = class_name.underscore.pluralize
|
36
|
-
system("rake db:create_migration NAME=change_column_to_#{pluralized_class_name}")
|
37
|
-
end
|
38
|
-
|
39
|
-
def remove_column(class_name: "user")
|
40
|
-
pluralized_class_name = class_name.underscore.pluralize
|
41
|
-
system("rake db:create_migration NAME=remove_column_to_#{pluralized_class_name}")
|
42
|
-
end
|
43
|
-
|
44
|
-
def drop_table(class_name: "user")
|
45
|
-
pluralized_class_name = class_name.underscore.pluralize
|
46
|
-
system("rake db:create_migration NAME=drop_table_to_#{pluralized_class_name}")
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
@@ -1,107 +0,0 @@
|
|
1
|
-
module Souls
|
2
|
-
module Upgrade
|
3
|
-
class << self
|
4
|
-
def gemfile_latest_version
|
5
|
-
file_path = "./Gemfile"
|
6
|
-
updated_gems = []
|
7
|
-
updated_gem_versions = []
|
8
|
-
updated_lines = []
|
9
|
-
from_dev = false
|
10
|
-
File.open(file_path, "r") do |f|
|
11
|
-
f.each_line do |line|
|
12
|
-
from_dev = true if line.include?("group")
|
13
|
-
next unless line.include?("gem ")
|
14
|
-
|
15
|
-
gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
|
16
|
-
url = URI("https://rubygems.org/api/v1/versions/#{gem[0]}/latest.json")
|
17
|
-
res = Net::HTTP.get_response(url)
|
18
|
-
data = JSON.parse(res.body)
|
19
|
-
next if Souls.configuration.fixed_gems.include?(gem[0].to_s)
|
20
|
-
next if data["version"].to_s == gem[1].to_s
|
21
|
-
|
22
|
-
updated_lines << if from_dev
|
23
|
-
" gem \"#{gem[0]}\", \"#{data['version']}\""
|
24
|
-
else
|
25
|
-
"gem \"#{gem[0]}\", \"#{data['version']}\""
|
26
|
-
end
|
27
|
-
updated_gems << (gem[0]).to_s
|
28
|
-
updated_gem_versions << data["version"]
|
29
|
-
system("gem update #{gem[0]}")
|
30
|
-
end
|
31
|
-
end
|
32
|
-
{
|
33
|
-
gems: updated_gems,
|
34
|
-
lines: updated_lines,
|
35
|
-
updated_gem_versions: updated_gem_versions
|
36
|
-
}
|
37
|
-
end
|
38
|
-
|
39
|
-
def update_gemfile
|
40
|
-
file_path = "./Gemfile"
|
41
|
-
tmp_file = "./tmp/Gemfile"
|
42
|
-
new_gems = gemfile_latest_version
|
43
|
-
logs = []
|
44
|
-
message = Paint["\nAlready Up to date!", :green]
|
45
|
-
return "Already Up to date!" && puts(message) if new_gems[:gems].blank?
|
46
|
-
|
47
|
-
@i = 0
|
48
|
-
File.open(file_path, "r") do |f|
|
49
|
-
File.open(tmp_file, "w") do |new_line|
|
50
|
-
f.each_line do |line|
|
51
|
-
gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
|
52
|
-
if new_gems[:gems].include?(gem[0])
|
53
|
-
old_ver = gem[1].split(".")
|
54
|
-
new_ver = new_gems[:updated_gem_versions][@i].split(".")
|
55
|
-
if old_ver[0] < new_ver[0]
|
56
|
-
logs << Paint % [
|
57
|
-
"#{gem[0]} v#{gem[1]} → %{red_text}",
|
58
|
-
:white,
|
59
|
-
{
|
60
|
-
red_text: ["v#{new_gems[:updated_gem_versions][@i]}", :red]
|
61
|
-
}
|
62
|
-
]
|
63
|
-
elsif old_ver[1] < new_ver[1]
|
64
|
-
logs << Paint % [
|
65
|
-
"#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.%{yellow_text}",
|
66
|
-
:white,
|
67
|
-
{
|
68
|
-
yellow_text: ["#{new_ver[1]}.#{new_ver[2]}", :yellow]
|
69
|
-
}
|
70
|
-
]
|
71
|
-
elsif old_ver[2] < new_ver[2]
|
72
|
-
logs << Paint % [
|
73
|
-
"#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.#{new_ver[1]}.%{green_text}",
|
74
|
-
:white,
|
75
|
-
{
|
76
|
-
green_text: [(new_ver[2]).to_s, :green]
|
77
|
-
}
|
78
|
-
]
|
79
|
-
end
|
80
|
-
if gem[0] == "souls"
|
81
|
-
logs << Paint % [
|
82
|
-
"\nSOULs Doc: %{cyan_text}",
|
83
|
-
:white,
|
84
|
-
{ cyan_text: ["https://souls.elsoul.nl\n", :cyan] }
|
85
|
-
]
|
86
|
-
end
|
87
|
-
new_line.write("#{new_gems[:lines][@i]}\n")
|
88
|
-
@i += 1
|
89
|
-
else
|
90
|
-
new_line.write(line)
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
95
|
-
FileUtils.rm("./Gemfile")
|
96
|
-
FileUtils.rm("./Gemfile.lock")
|
97
|
-
FileUtils.mv("./tmp/Gemfile", "./Gemfile")
|
98
|
-
system("bundle update")
|
99
|
-
success = Paint["\n\nSuccessfully Updated These Gems!\n", :green]
|
100
|
-
puts(success)
|
101
|
-
logs.each do |line|
|
102
|
-
puts(line)
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
module Souls
|
2
|
-
module Worker
|
3
|
-
module Generate
|
4
|
-
class << self
|
5
|
-
def mutation(class_name: "send-mailer", option: "")
|
6
|
-
case option
|
7
|
-
when "--mailer"
|
8
|
-
mailer(class_name: class_name)
|
9
|
-
else
|
10
|
-
create_mutation(class_name: class_name)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def create_mutation(class_name: "send-mailer")
|
15
|
-
file_dir = "./app/graphql/mutations/"
|
16
|
-
FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
|
17
|
-
file_path = "#{file_dir}#{class_name.singularize}.rb"
|
18
|
-
raise(StandardError, "Mutation already exist! #{file_path}") if File.exist?(file_path)
|
19
|
-
|
20
|
-
File.open(file_path, "w") do |f|
|
21
|
-
f.write(<<~TEXT)
|
22
|
-
module Mutations
|
23
|
-
class #{class_name.camelize} < BaseMutation
|
24
|
-
description "Job Description"
|
25
|
-
field :response, String, null: false
|
26
|
-
|
27
|
-
def resolve
|
28
|
-
# Define Job Here
|
29
|
-
|
30
|
-
{ response: "Job done!" }
|
31
|
-
rescue StandardError => e
|
32
|
-
GraphQL::ExecutionError.new(e.to_s)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
TEXT
|
37
|
-
end
|
38
|
-
puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
|
39
|
-
file_path
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|