souls 0.50.0 → 0.52.0

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -1
  3. data/exe/souls +4 -202
  4. data/lib/souls/api/generate/application.rb +97 -94
  5. data/lib/souls/api/generate/connection.rb +5 -4
  6. data/lib/souls/api/generate/edge.rb +5 -4
  7. data/lib/souls/api/generate/index.rb +0 -1
  8. data/lib/souls/api/generate/manager.rb +9 -7
  9. data/lib/souls/api/generate/model.rb +16 -18
  10. data/lib/souls/api/generate/mutation.rb +217 -218
  11. data/lib/souls/api/generate/policy.rb +5 -5
  12. data/lib/souls/api/generate/query.rb +51 -51
  13. data/lib/souls/api/generate/resolver.rb +115 -115
  14. data/lib/souls/api/generate/rspec_factory.rb +53 -53
  15. data/lib/souls/api/generate/rspec_model.rb +5 -5
  16. data/lib/souls/api/generate/rspec_mutation.rb +178 -178
  17. data/lib/souls/api/generate/rspec_policy.rb +5 -5
  18. data/lib/souls/api/generate/rspec_query.rb +111 -111
  19. data/lib/souls/api/generate/rspec_resolver.rb +163 -163
  20. data/lib/souls/api/generate/type.rb +66 -66
  21. data/lib/souls/api/index.rb +7 -4
  22. data/lib/souls/api/update/index.rb +15 -0
  23. data/lib/souls/api/update/mutation.rb +68 -64
  24. data/lib/souls/api/update/resolver.rb +59 -60
  25. data/lib/souls/api/update/rspec_factory.rb +40 -39
  26. data/lib/souls/api/update/rspec_mutation.rb +84 -83
  27. data/lib/souls/api/update/rspec_resolver.rb +70 -69
  28. data/lib/souls/api/update/type.rb +39 -38
  29. data/lib/souls/cli/console/index.rb +13 -1
  30. data/lib/souls/cli/create/index.rb +100 -95
  31. data/lib/souls/cli/db/index.rb +122 -1
  32. data/lib/souls/cli/docker/index.rb +30 -38
  33. data/lib/souls/cli/gcloud/compute/index.rb +100 -93
  34. data/lib/souls/cli/gcloud/iam/index.rb +84 -69
  35. data/lib/souls/cli/gcloud/index.rb +36 -35
  36. data/lib/souls/cli/gcloud/pubsub/subscriptions.rb +40 -27
  37. data/lib/souls/cli/gcloud/pubsub/topics.rb +16 -10
  38. data/lib/souls/cli/gcloud/run/index.rb +23 -17
  39. data/lib/souls/cli/gcloud/sql/index.rb +66 -45
  40. data/lib/souls/cli/index.rb +3 -20
  41. data/lib/souls/cli/init/index.rb +140 -138
  42. data/lib/souls/cli/release/release.rb +106 -105
  43. data/lib/souls/cli/server/index.rb +12 -1
  44. data/lib/souls/cli/sync/conf.rb +39 -38
  45. data/lib/souls/cli/sync/model.rb +19 -20
  46. data/lib/souls/cli/sync/pubsub.rb +69 -70
  47. data/lib/souls/cli/upgrade/gemfile.rb +108 -0
  48. data/lib/souls/cli/upgrade/index.rb +1 -1
  49. data/lib/souls/cli.rb +57 -0
  50. data/lib/souls/index.rb +1 -5
  51. data/lib/souls/version.rb +1 -1
  52. data/lib/souls/versions/.souls_api_version +1 -1
  53. data/lib/souls/versions/.souls_worker_version +1 -1
  54. data/lib/souls/worker/generate/index.rb +1 -1
  55. data/lib/souls/worker/generate/job.rb +45 -0
  56. data/lib/souls/worker/generate/mailer.rb +38 -43
  57. data/lib/souls/worker/index.rb +3 -1
  58. data/lib/souls.rb +2 -0
  59. metadata +19 -5
  60. data/lib/souls/api/generate/migration.rb +0 -51
  61. data/lib/souls/cli/upgrade/gem_update.rb +0 -107
  62. 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